Lisp/README.md als Doku der LispFunktionen erneuert. set_attr.py baut jetzt einen einzigen Block der alle Geometrie und die Attribute enthält.
This commit is contained in:
+19
-2
@@ -160,7 +160,11 @@ ATTDEF_LAYER = "ATTRIB"
|
||||
def wrap_entities_in_block(doc, block_name):
|
||||
"""
|
||||
Verschiebt alle Entities aus dem Modelspace in eine Blockdefinition
|
||||
mit dem Namen block_name und fuegt eine Blockreferenz bei (0, 0) ein.
|
||||
mit dem Namen block_name.
|
||||
|
||||
Im Modelspace wird ein INSERT erzeugt, dem ATTRIB-Entities hinzugefuegt
|
||||
werden - mit den Standardwerten aus den ATTDEFs der Blockdefinition.
|
||||
Dadurch zeigt BricsCAD beim Klick auf den Block die Attributwerte an.
|
||||
Vorhandene Blockdefinition mit gleichem Namen wird ersetzt (fuer Re-Runs).
|
||||
"""
|
||||
msp = doc.modelspace()
|
||||
@@ -174,7 +178,20 @@ def wrap_entities_in_block(doc, block_name):
|
||||
for entity in list(msp):
|
||||
msp.move_to_layout(entity, blk)
|
||||
|
||||
msp.add_blockref(block_name, (0, 0))
|
||||
# INSERT im Modelspace
|
||||
blkref = msp.add_blockref(block_name, (0, 0))
|
||||
|
||||
# ATTRIB-Entities aus ATTDEFs befuellen (Werte aus ATTDEF-Standardtext)
|
||||
for attdef in (e for e in blk if e.dxftype() == "ATTDEF"):
|
||||
blkref.add_attrib(
|
||||
tag=attdef.dxf.tag,
|
||||
text=attdef.dxf.text,
|
||||
insert=attdef.dxf.insert,
|
||||
dxfattribs={
|
||||
"layer": attdef.dxf.layer,
|
||||
"height": attdef.dxf.height,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def add_attdefs_to_dxf(dxf_path, output_path, attr_defs, json_entry, sivasnr,
|
||||
|
||||
Reference in New Issue
Block a user