Ids werden jetzt in Bricscad von einer Lisp Funktion in Form einer aufsteigenden Nummer erzeugt

This commit is contained in:
2026-06-23 10:11:47 +02:00
parent abc7d5ab77
commit 1f7aeb420d
3 changed files with 30 additions and 40 deletions
+24 -24
View File
@@ -140,13 +140,9 @@
;; csv-name = Ergebnis-CSV-Name (z.B. "export.csv")
(defun csv:run-export (label py-name csv-name / ss i ename fh out-pfad
py-skript ergebnis-pfad cmd first-block count)
;; Vor dem Export: Doppelte IDs pruefen und korrigieren
(if (atoms-family 1 '("ssg-id-check-all"))
(progn
(princ (strcat "\n[" label "] Pruefe IDs auf Duplikate..."))
(ssg-id-check-all)
)
)
;; Vor dem Export: IDs aller Bloecke sicherstellen und Duplikate korrigieren
(princ (strcat "\n[" label "] Pruefe und vergebe IDs..."))
(ssg-id-check-all)
;; Vor dem Export HOEHE/DREHUNG aller Omniflo-Elemente aktualisieren
(princ (strcat "\n[" label "] Aktualisiere Hoehe/Drehung..."))
(omni:update-all-attribs)
@@ -351,17 +347,6 @@
)
;; --- CSV-Zeile fuer ein Omniflo-Element bauen ---
(defun csv:omni-csv-line (elem-nr teileart bezeichnung merkmale-json)
(strcat (itoa elem-nr)
";\"" teileart "\""
";\"shape_" (substr (rtos (* (getvar "CDATE") 1000000.0) 2 0) 1 8)
(substr (rtos (* (getvar "TDUSRTIMER") 1000000.0) 2 0) 1 8) "\""
";\"" bezeichnung "\""
";1"
";" merkmale-json)
)
;; ============================================================
;; C:OMNI_EXPORT - Omniflo-Elemente zaehlen und als CSV exportieren
@@ -373,6 +358,9 @@
len-ap110 len-ap60 laenge-str
fh out-pfad lines subtyp merkmale)
;; Vor dem Export: IDs aller Bloecke sicherstellen und Duplikate korrigieren
(princ "\n[OMNI_EXPORT] Pruefe und vergebe IDs...")
(ssg-id-check-all)
;; Vor dem Export HOEHE/DREHUNG aller Omniflo-Elemente aktualisieren
(princ "\n[OMNI_EXPORT] Aktualisiere Hoehe/Drehung...")
(omni:update-all-attribs)
@@ -403,8 +391,12 @@
(setq cnt-boegen (1+ cnt-boegen))
(setq merkmale (csv:omni-bogen-merkmale ename rotation))
(setq lines (cons
(csv:omni-csv-line elem-nr "Omniflo Kurve"
(strcat "OFBogen :" (itoa cnt-boegen)) merkmale)
(strcat (itoa elem-nr)
";\"Omniflo Kurve\""
";\"" (or (csv:get-attrib ename "ID") "0000") "\""
";\"" (strcat "OFBogen :" (itoa cnt-boegen)) "\""
";1"
";" merkmale)
lines))
)
@@ -421,8 +413,12 @@
)
(setq merkmale (csv:omni-weiche-merkmale ename rotation))
(setq lines (cons
(csv:omni-csv-line elem-nr "Omniflo Weiche"
(strcat "OFWeiche :" (itoa cnt-weichen)) merkmale)
(strcat (itoa elem-nr)
";\"Omniflo Weiche\""
";\"" (or (csv:get-attrib ename "ID") "0000") "\""
";\"" (strcat "OFWeiche :" (itoa cnt-weichen)) "\""
";1"
";" merkmale)
lines))
)
@@ -437,8 +433,12 @@
)
(setq merkmale (csv:omni-gerade-merkmale ename rotation))
(setq lines (cons
(csv:omni-csv-line elem-nr "Omniflo Gerade"
(strcat "OFGerade :" (itoa cnt-geraden)) merkmale)
(strcat (itoa elem-nr)
";\"Omniflo Gerade\""
";\"" (or (csv:get-attrib ename "ID") "0000") "\""
";\"" (strcat "OFGerade :" (itoa cnt-geraden)) "\""
";1"
";" merkmale)
lines))
)
)