[ADD] Funktionen und Menü zum Hinzufügen von Omniflo TEF Bauteilen integriert
This commit is contained in:
+22
-10
@@ -872,7 +872,7 @@
|
||||
;; hoehe = Hoehe in mm als String (wird als HOEHE-Attribut gesetzt)
|
||||
;; drehung = Drehwinkel in Grad als String (Block-Rotation)
|
||||
;; Rueckgabe: Einfuegepunkt oder nil bei Abbruch
|
||||
(defun omni:insert-dxf (sivasnr-str hoehe drehung / dxf-pfad omniflo-pfad pt angleDeg blockEnt attribs layer-name)
|
||||
(defun omni:insert-dxf (sivasnr-str hoehe drehung / dxf-pfad omniflo-pfad pt angleDeg winkel-rad drehung-anzeige blockEnt attribs layer-name)
|
||||
(setq omniflo-pfad (getenv "DXFM_OMNIFLO"))
|
||||
(if (null omniflo-pfad)
|
||||
(progn
|
||||
@@ -895,8 +895,18 @@
|
||||
(setvar "ATTREQ" 0)
|
||||
(setvar "ATTDIA" 0)
|
||||
|
||||
;; Drehwinkel aus Dialog verwenden
|
||||
(setq angleDeg (if drehung (atof drehung) 0.0))
|
||||
;; Drehwinkel aus Dialog uebernehmen, sonst interaktiv am Einfuegepunkt abfragen
|
||||
(if drehung
|
||||
(progn
|
||||
(setq angleDeg (atof drehung))
|
||||
(setq drehung-anzeige drehung)
|
||||
)
|
||||
(progn
|
||||
(setq winkel-rad (getangle pt (ssg-text "omni-prompt-drehwinkel")))
|
||||
(setq angleDeg (if winkel-rad (* winkel-rad (/ 180.0 pi)) 0.0))
|
||||
(setq drehung-anzeige (rtos angleDeg 2 1))
|
||||
)
|
||||
)
|
||||
|
||||
;; Hoehe als Z-Koordinate auf den Einfuegepunkt anwenden
|
||||
(if (and hoehe (/= hoehe ""))
|
||||
@@ -916,7 +926,7 @@
|
||||
;; HOEHE und DREHUNG Attribute setzen
|
||||
(ssg-attrib-set-on blockEnt
|
||||
(list (cons "HOEHE" (if hoehe hoehe (ssg-cfg-or "omniflo" "default_hoehe" "2000")))
|
||||
(cons "DREHUNG" (if drehung drehung (ssg-cfg-or "omniflo" "default_drehung" "0")))))
|
||||
(cons "DREHUNG" drehung-anzeige)))
|
||||
|
||||
;; Layer aus LAYER-Attribut lesen und Block verschieben
|
||||
(setq attribs (ssg-attrib-read blockEnt))
|
||||
@@ -940,7 +950,7 @@
|
||||
(list
|
||||
sivasnr-str
|
||||
(if hoehe hoehe (ssg-cfg-or "omniflo" "default_hoehe" "2000"))
|
||||
(if drehung drehung (ssg-cfg-or "omniflo" "default_drehung" "0"))
|
||||
drehung-anzeige
|
||||
(if layer-name (strcat " Layer=" layer-name) "")
|
||||
)))
|
||||
(ssg-end)
|
||||
@@ -1271,28 +1281,30 @@
|
||||
|
||||
|
||||
;; --- Omniflo / TEF Elemente ---
|
||||
;; Feste TEF-Bauteile ohne Sivas-Auswahl: Datei liegt direkt unter DXFM_OMNIFLO,
|
||||
;; wird per omni:insert-dxf am gewaehlten Einfuegepunkt ohne Drehung eingefuegt.
|
||||
(defun c:OMNI_TEF_UmlenkR ()
|
||||
(princ "\n[DUMMY] Umlenkspannst. rechts fuer TEF links")
|
||||
(omni:insert-dxf "Umlenkspannst_TEF_rechts" nil nil)
|
||||
(princ)
|
||||
)
|
||||
|
||||
(defun c:OMNI_TEF_UmlenkL ()
|
||||
(princ "\n[DUMMY] Umlenkspannst. links fuer TEF rechts")
|
||||
(omni:insert-dxf "Umlenkspannst_TEF_links" nil nil)
|
||||
(princ)
|
||||
)
|
||||
|
||||
(defun c:OMNI_TEF_AntriebL ()
|
||||
(princ "\n[DUMMY] Antriebst. links fuer TEF links")
|
||||
(omni:insert-dxf "0_B10010" nil nil)
|
||||
(princ)
|
||||
)
|
||||
|
||||
(defun c:OMNI_TEF_AntriebR ()
|
||||
(princ "\n[DUMMY] Antriebst. rechts fuer TEF rechts")
|
||||
(omni:insert-dxf "0_B10020" nil nil)
|
||||
(princ)
|
||||
)
|
||||
|
||||
(defun c:OMNI_TEF_Gerade ()
|
||||
(princ "\n[DUMMY] TEF Gerade")
|
||||
(omni:insert-dxf "0_B10030" nil nil)
|
||||
(princ)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user