Fix der Höhen und verformentn

This commit is contained in:
2026-05-20 18:54:34 +02:00
parent 4544b7c56e
commit 7255d0b291
+12 -9
View File
@@ -283,6 +283,12 @@
;; Pruefen ob Block bereits existiert
(setq block-exists (tblsearch "BLOCK" bname))
;; ATTREQ/ATTDIA und OSMODE VOR Sub-Block-Insertions setzen, damit INSERT
;; nicht nach Attributwerten fragt und OSNAP die Koordinaten nicht verschiebt
(setvar "ATTREQ" 0)
(setvar "ATTDIA" 0)
(setvar "OSMODE" 0)
;; --- Geometrie NUR zeichnen, wenn Block noch nicht existiert ---
(if (not block-exists)
(progn
@@ -292,12 +298,12 @@
(princ) ;; Letzte Entity existiert
(setq lastEnt nil) ;; Zeichnung ist leer
)
;; AN8 Kreis (Antriebsstation) bei (radius, 0)
(command "_.INSERT" (strcat block-pfad "AN8.dwg") (list radius 0.0 0) 1 1 0)
(command "_.INSERT" (strcat block-pfad "AN8.dwg") (list radius 0.0 0.0) 1 1 0)
;; SP8 Kreis (Spannstation) bei (radius+abstand, 0)
(command "_.INSERT" (strcat block-pfad "SP8.dwg") (list (+ radius abstand) 0.0 0) 1 1 0)
(command "_.INSERT" (strcat block-pfad "SP8.dwg") (list (+ radius abstand) 0.0 0.0) 1 1 0)
;; Tangenten auf Layer S_LP
(ssg-make-layer "S_LP" "7" T)
@@ -356,10 +362,7 @@
)
;; --- Block am Zielpunkt einfuegen (ohne Attribut-Dialog) ---
;; basePoint kann 2D oder 3D sein; INSERT uebernimmt die Z-Koordinate
;; ATTREQ/ATTDIA werden durch ssg-start/ssg-end der Aufrufer gesichert
(setvar "ATTREQ" 0)
(setvar "ATTDIA" 0)
;; ATTREQ/ATTDIA wurden bereits oben gesetzt
;; Einfügepunkt: X,Y aus basePoint, Z aus ermittelter Höhe
@@ -406,7 +409,7 @@
;; --------------------------------------------
(defun c:KreiselInsert ( / pt abstand typ rotation rotStr hoehe
selectedEnt blockAttribs oldOsmode)
(ssg-start "Kreisel Modul einfuegen" '(("CECOLOR")))
(ssg-start "Kreisel Modul einfuegen" '(("OSMODE") ("CECOLOR")))
;; Temporär Osnap für Blockerkennung setzen
(setq oldOsmode (getvar "OSMODE"))
@@ -506,7 +509,7 @@
z1s z1e z2s z2e zCoord zTol
ok msg)
(ssg-start "Kreisel Smart Connect" '(("CECOLOR")))
(ssg-start "Kreisel Smart Connect" '(("OSMODE") ("CECOLOR")))
(setq ok T msg nil)
(princ "\n--- Kreisel zwischen zwei parallelen Linien ---")