Contextmenü für die Rechte Maustaste eingeführt um Elemente zu bearbeiten
This commit is contained in:
+12
-15
@@ -11,14 +11,14 @@ Vorgehen pro DXF-Datei:
|
||||
3. Neue ATTDEFs gemaess cfg/attradd.cfg und JSON-Daten einfuegen.
|
||||
Attributwerte werden aus omniflo_boegen.json / omniflo_weichen.json
|
||||
aufgeloest; der Layer-Name kommt aus dem [layer]-Abschnitt der Config.
|
||||
4. Alle Entities (Geometrie + ATTDEFs) in eine Blockdefinition verschieben.
|
||||
Der Blockname entspricht der Sivasnummer (= Dateiname ohne .dxf).
|
||||
Als Basispunkt der Blockdefinition wird $INSBASE aus dem DXF-Header
|
||||
verwendet (gesetzt von set_einfuegepkt.py).
|
||||
5. Im Modelspace einen INSERT auf den neuen Block einfuegen, mit
|
||||
ATTRIB-Entities befuellt aus den ATTDEF-Standardwerten. Dadurch zeigt
|
||||
BricsCAD beim Klick auf den Block alle Attributwerte an.
|
||||
6. Ergebnis in results/omniflo/<sivasnr>.dxf speichern.
|
||||
4. Ergebnis in results/omniflo/<sivasnr>.dxf speichern.
|
||||
|
||||
Hinweis zur Blockstruktur:
|
||||
Die Geometrie und ATTDEFs verbleiben direkt im Modelspace (flache Struktur).
|
||||
BricsCAD erstellt beim Einfuegen via LISP (_.INSERT <sivasnr>.dxf) automatisch
|
||||
einen Block mit dem Dateinamen (= Sivasnr) und befuellt die ATTDEFs mit den
|
||||
Standardwerten als ATTRIBs. Jedes eingefuegte Element wird als eigenstaendiger
|
||||
Block im Ziel-DWG referenziert.
|
||||
|
||||
Voraussetzung:
|
||||
Die Quelldateien in data/omniflo/ sollten bereits durch set_einfuegepkt.py
|
||||
@@ -219,6 +219,7 @@ def wrap_entities_in_block(doc, block_name):
|
||||
dxfattribs={
|
||||
"layer": attdef.dxf.layer,
|
||||
"height": attdef.dxf.height,
|
||||
"flags": attdef.dxf.flags,
|
||||
},
|
||||
)
|
||||
|
||||
@@ -226,9 +227,8 @@ def wrap_entities_in_block(doc, block_name):
|
||||
def add_attdefs_to_dxf(dxf_path, output_path, attr_defs, json_entry, sivasnr,
|
||||
layer_value=""):
|
||||
"""
|
||||
Oeffnet eine DXF-Datei, fuegt ATTDEF-Entities in den Modelspace ein,
|
||||
fasst alle Entities anschliessend in einen Block mit dem Namen sivasnr
|
||||
zusammen und speichert das Ergebnis.
|
||||
Oeffnet eine DXF-Datei, fuegt ATTDEF-Entities in den Modelspace ein
|
||||
und speichert das Ergebnis.
|
||||
|
||||
attr_defs: Liste von (TAG, source_expression) aus der Config
|
||||
json_entry: Dict mit den JSON-Daten fuer dieses Element
|
||||
@@ -266,15 +266,12 @@ def add_attdefs_to_dxf(dxf_path, output_path, attr_defs, json_entry, sivasnr,
|
||||
"height": ATTDEF_HEIGHT,
|
||||
"insert": (0, y_pos),
|
||||
"prompt": prompt,
|
||||
"flags": 0, # sichtbar
|
||||
"flags": 3, # unsichtbar (1) + konstant (2)
|
||||
},
|
||||
)
|
||||
y_pos += ATTDEF_SPACING
|
||||
count += 1
|
||||
|
||||
# Alle Entities (Geometrie + ATTDEFs) in Block mit Sivasnr-Namen fassen
|
||||
wrap_entities_in_block(doc, sivasnr)
|
||||
|
||||
doc.saveas(output_path)
|
||||
return count
|
||||
|
||||
|
||||
Reference in New Issue
Block a user