From e801c844398ae07ca36c5568d2d8b208378cb0bf Mon Sep 17 00:00:00 2001 From: Michael Stangl Date: Mon, 18 May 2026 13:50:23 +0200 Subject: [PATCH] =?UTF-8?q?Erste=20FAssung=20f=C3=BCr=20ein=20Makro=20f?= =?UTF-8?q?=C3=BCr=20die=20Geraden=20erzeugt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Blocks/AP110.dwg | Bin 0 -> 15532 bytes Blocks/AP60.dwg | Bin 0 -> 15600 bytes Blocks/APG110.dwg | Bin 0 -> 15604 bytes Lisp/OmniModulInsert.lsp | 207 ++++++++++++++++++++++++++++++++++++++- menu/SSG_LIB.mnu | 4 +- 5 files changed, 209 insertions(+), 2 deletions(-) create mode 100644 Blocks/AP110.dwg create mode 100644 Blocks/AP60.dwg create mode 100644 Blocks/APG110.dwg diff --git a/Blocks/AP110.dwg b/Blocks/AP110.dwg new file mode 100644 index 0000000000000000000000000000000000000000..57fb5e117c6664d5307dd3975cc70718b8f4539c GIT binary patch literal 15532 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 S*}bRVzkc;2+pho}y#E8K;SyB< literal 0 HcmV?d00001 diff --git a/Lisp/OmniModulInsert.lsp b/Lisp/OmniModulInsert.lsp index 1830da6..d84d6c6 100644 --- a/Lisp/OmniModulInsert.lsp +++ b/Lisp/OmniModulInsert.lsp @@ -554,8 +554,213 @@ ) ;; --- Omniflo / Aluprofil Gerade --- + +;; Attribut-Definitionen fuer Aluprofil-Bloecke: ((TAG DEFAULT) ...) +;; LAENGE und LAENGEMAX werden automatisch gesetzt. +(setq *omni-profil-attrib-defs* + '(("ETIKETTE" "") + ("AUFLOESE" "") + ("GRUPPE" "") + ("A" "") + ("B" "") + ("C" "") + ("BESCHR" "") + ("ARTINR" "") + ("MENGE" "") + ("POSITION" "") + ("LAENGE" "") + ("LAYER" "") + ("TLAGE" "") + ("LAENGEMAX" "")) +) + +;; Attribute eines bestimmten INSERT-Entity setzen. +;; ent = Entity-Name des INSERT-Blocks +;; attrib-alist = (("TAG" . "Wert") ...) +(defun omni:attrib-set-on (ent attrib-alist / obj ed typ tag wert) + (setq obj (entnext ent)) + (while obj + (setq ed (entget obj)) + (setq typ (cdr (assoc 0 ed))) + (if (equal typ "SEQEND") (setq obj nil) + (progn + (if (equal typ "ATTRIB") + (progn + (setq tag (cdr (assoc 2 ed))) + (setq wert (cdr (assoc tag attrib-alist))) + (if (and wert (> (strlen wert) 0)) + (progn + (entmod (subst (cons 1 wert) (assoc 1 ed) ed)) + (entupd obj) + ) + ) + ) + ) + (setq obj (entnext obj)) + ) + ) + ) +) + +;; Aluprofil-Fahrstrecke einfuegen. +;; +;; Ablauf: +;; 1. Nutzer waehlt Einfuegepunkt -> Text "blockname" wird horizontal platziert +;; 2. Nutzer klickt Endpunkt -> Linie definiert Fahrstreckenlaenge und Richtung +;; 3. Laenge wird gegen laengemax geprueft (Fehlermeldung bei Ueberschreitung) +;; 4. Compound-Block aus Linie + Attributen wird erzeugt und eingefuegt +;; 5. Text wird gedreht, verschoben (oberhalb Linie) und Inhalt aktualisiert +;; z.B. "APG110 L=2879" +;; +;; blockname = Profiltyp (z.B. "AP60", "AP110", "APG110") +;; laengemax = Maximale Fahrstreckenlaenge in mm +(defun omni:insert-block (blockname laengemax / + pt pt2 laenge laengeStr + dx dy angle angleDeg + textEnt textHeight textGap + perpX perpY textPt ed + lastEnt ss e bname blockEnt attribs + oldOsnap oldCmdEcho oldLayer oldAttreq oldAttdia + ok) + + (setq textHeight 100.0) + (setq textGap 20.0) + + (setq pt (getpoint "\nEinfuegepunkt waehlen: ")) + (if (null pt) + (progn (princ "\n[OMNI] Abgebrochen.") nil) + (progn + ;; Einstellungen sichern + (setq oldOsnap (getvar "OSMODE")) + (setq oldCmdEcho (getvar "CMDECHO")) + (setq oldLayer (getvar "CLAYER")) + (setvar "CMDECHO" 0) + + ;; 1. Text horizontal am Einfuegepunkt erzeugen (per entmake) + (entmake (list '(0 . "TEXT") + (cons 8 (getvar "CLAYER")) + (cons 10 (list (car pt) (cadr pt) + (if (caddr pt) (caddr pt) 0.0))) + (cons 40 textHeight) + (cons 1 blockname) + '(50 . 0.0))) + (setq textEnt (entlast)) + + ;; 2. Endpunkt fuer Fahrstrecke abfragen (Schleife bei Ueberschreitung) + (setq ok nil) + (while (not ok) + (setq pt2 (getpoint pt "\nEndpunkt der Fahrstrecke waehlen: ")) + (if (null pt2) + (progn + ;; Abbruch: Text loeschen + (command "_.ERASE" textEnt "") + (setvar "OSMODE" oldOsnap) + (setvar "CMDECHO" oldCmdEcho) + (setvar "CLAYER" oldLayer) + (princ "\n[OMNI] Abgebrochen.") + (setq ok T pt nil) + ) + (progn + (setq laenge (distance (list (car pt) (cadr pt)) + (list (car pt2) (cadr pt2)))) + (if (> laenge laengemax) + (alert (strcat "Die gewuenschte Fahrstreckenlaenge von " + (rtos laenge 2 0) " mm ueberschreitet die Maximallaenge von " + (rtos laengemax 2 0) " mm des Fahrstreckenprofils.\n" + "Bitte neu definieren!")) + (progn + (setq laengeStr (rtos laenge 2 0)) + (setq dx (- (car pt2) (car pt)) + dy (- (cadr pt2) (cadr pt))) + (setq angle (atan dy dx)) + (setq angleDeg (* (/ 180.0 pi) angle)) + + ;; 3. Compound-Block: Linie bei (0,0) + ATTDEFs + (setq lastEnt textEnt) + + ;; Linie von Ursprung bis (laenge, 0) + (command "_.LINE" (list 0.0 0.0) (list laenge 0.0) "") + + ;; Unsichtbare Attribut-Definitionen + (ssg-attrib-make-defs *omni-profil-attrib-defs* 50.0) + + ;; Neue Entities einsammeln (alles nach textEnt) + (setq ss (ssadd)) + (setq e (entnext lastEnt)) + (while e (ssadd e ss) (setq e (entnext e))) + + ;; Block erzeugen + (setq bname (strcat blockname "_" + (ssg-make-blockname + (list (car pt) (cadr pt) + (if (caddr pt) (caddr pt) 0.0))))) + (command "_.-BLOCK" bname (list 0.0 0.0 0.0) ss "") + + ;; Block einfuegen (ohne Attribut-Dialog) + (setq oldAttreq (getvar "ATTREQ")) + (setq oldAttdia (getvar "ATTDIA")) + (setvar "ATTREQ" 0) + (setvar "ATTDIA" 0) + (command "_.INSERT" bname pt 1 1 angleDeg) + (setvar "ATTREQ" oldAttreq) + (setvar "ATTDIA" oldAttdia) + + (setq blockEnt (entlast)) + + ;; 4. Attribute setzen + (setq attribs (ssg-attrib-merge + (list (cons "LAENGE" laengeStr) + (cons "A" laengeStr) + (cons "LAENGEMAX" (rtos laengemax 2 0))) + *omni-profil-attrib-defs*)) + (omni:attrib-set-on blockEnt attribs) + + ;; 5. Text aktualisieren: oberhalb der Linie positionieren, + ;; um Linienwinkel drehen, Inhalt mit Laenge ergaenzen + (setq perpX (* (- (sin angle)) textGap) + perpY (* (cos angle) textGap)) + (setq textPt (list (+ (car pt) perpX) + (+ (cadr pt) perpY) + (if (caddr pt) (caddr pt) 0.0))) + + (setq ed (entget textEnt)) + (setq ed (subst (cons 10 textPt) (assoc 10 ed) ed)) + (if (assoc 50 ed) + (setq ed (subst (cons 50 angle) (assoc 50 ed) ed)) + (setq ed (append ed (list (cons 50 angle)))) + ) + (setq ed (subst (cons 1 (strcat blockname " L=" laengeStr)) + (assoc 1 ed) ed)) + (entmod ed) + (entupd textEnt) + + (princ (strcat "\n[OMNI] " blockname " eingefuegt. Laenge=" laengeStr " mm")) + (setq ok T) + ) + ) + ) + ) + ) + + ;; Einstellungen wiederherstellen + (setvar "OSMODE" oldOsnap) + (setvar "CMDECHO" oldCmdEcho) + (setvar "CLAYER" oldLayer) + pt + ) + ) +) + +(defun c:OMNI_AP60 () + (omni:insert-block "AP60" 7000.0) + (princ) +) (defun c:OMNI_AP110 () - (princ "\n[DUMMY] AP 110 Aluprofil Gerade") + (omni:insert-block "AP110" 6000.0) + (princ) +) +(defun c:OMNI_APG110 () + (omni:insert-block "APG110" 6000.0) (princ) ) diff --git a/menu/SSG_LIB.mnu b/menu/SSG_LIB.mnu index 30cafe9..e68a852 100644 --- a/menu/SSG_LIB.mnu +++ b/menu/SSG_LIB.mnu @@ -46,7 +46,9 @@ [22.5]^C^COMNI_APB_550_225 [<-180 ]^C^COMNI_APB_650_180 [->Aluprofil Gerade] -[<-AP 110]^C^COMNI_AP110 +[AP 60]^C^COMNI_AP60 +[AP 110]^C^COMNI_AP110 +[<-APG 110]^C^COMNI_APG110 [->Weiche 90 Grad] [Einfach 90 700/700 links M]^C^COMNI_W90_Einfach [Doppel 90 700/700 M]^C^COMNI_W90_Doppel