Symbole-Tab in Project-Settings (Library-Item-Management)
Project-Settings hat jetzt 5 Tabs. Neuer 'Symbole'-Tab managt die Dossier-Library: List/Detail wie Materialien, mit 2D + 3D Slot pro Item. Backend (library.py): - save_manifest, update_item, delete_item, add_item — full CRUD aufs library.json - copy_to_assets: kopiert User-Dateien in library/assets/ mit Konflikt-Resolution (auto-suffix) Backend (rhinopanel.py / ProjectSettingsBridge): - _send_library: aktuelle Items + libraryRoot an Frontend - _add_library_file: File-Picker (.3dm direkt; .dwg/.obj/etc. zeigt Hinweis fuer kuenftige Konvertierung), kopiert + appended ans Item (variant 2d/3d) oder erstellt neues Item - _update_library_item: patch by id - _delete_library_item: entfernt Eintrag aus Manifest - LIBRARY_ITEMS + LIBRARY_ERROR Messages ans Frontend Frontend: - Neuer 'Symbole'-Tab mit List/Detail - Liste: Name, Type-Icon, '2D'/'3D' Status-Badge - Detail rechts: Name-Edit (live persist on blur), Type-Toggle (Symbol/Objekt), 2D/3D-File-Slots mit Datei-Picker, Tags-Editor - 'Neues Objekt' Button im Listen-Footer Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -204,6 +204,19 @@ export function importLinetypeFile() { send('IMPORT_LINETYPE_FILE', {})
|
||||
export function renameHatch(index, name) { send('RENAME_HATCH', { index, name }) }
|
||||
export function deleteHatch(index) { send('DELETE_HATCH', { index }) }
|
||||
export function importHatchFile() { send('IMPORT_HATCH_FILE', {}) }
|
||||
// Library-Item-CRUD (Project-Settings → Symbole-Tab)
|
||||
export function listLibraryItems() { send('LIST_LIBRARY_ITEMS', {}) }
|
||||
export function addLibraryFile(variant, targetId, itemType) {
|
||||
send('ADD_LIBRARY_FILE', {
|
||||
variant: variant || '2d',
|
||||
targetId: targetId || null,
|
||||
itemType: itemType || 'object',
|
||||
})
|
||||
}
|
||||
export function updateLibraryItem(id, patch) {
|
||||
send('UPDATE_LIBRARY_ITEM', { id, patch })
|
||||
}
|
||||
export function deleteLibraryItem(id) { send('DELETE_LIBRARY_ITEM', { id }) }
|
||||
// Schnitt/Ansicht — interaktiver 2-Punkt-Pick im Rhino-Viewport. Erzeugt
|
||||
// eine neue Zeichnungsebene type=schnitt + 2D-Plan-Symbol + aktiviert sie.
|
||||
// opts: { cutAtLine: bool, depthBack: m, heightMin: m, heightMax: m, namePrefix }
|
||||
|
||||
Reference in New Issue
Block a user