[FIX] Menü zur Bearbeitung des Kreisels durch Doppelklick auf einen Kreisel wird nun wie erwartet aufgerufen, andere Blöcke und Textfelder und Objekte können nun trotzdem wie gewohnt durch einen Doppelklick mit den integrierten Bricscad Funktionen bearbeitet werden

This commit is contained in:
2026-06-24 09:11:47 +02:00
parent b60205013f
commit 2d4cb1cc36
4 changed files with 33 additions and 13 deletions
+27 -12
View File
@@ -133,18 +133,17 @@
;; ============================================================
(defun c:SSG_BLOCKEDIT ( / ss ent ed bname attribs teileart)
;; Implied Selection pruefen (Block muss vorselektiert sein)
;; Block ermitteln: zuerst Implied Selection, dann Picking
(setq ss (ssget "I"))
(if (or (null ss) (/= (sslength ss) 1))
(progn
(princ "\nBlock auswaehlen: ")
(setq ss (ssget ":S" '((0 . "INSERT"))))
)
)
(if (null ss)
(progn
(princ "\nBitte zuerst einen Block auswaehlen.")
(princ)
(exit)
)
)
(if (/= (sslength ss) 1)
(progn
(princ "\nBitte genau einen Block auswaehlen.")
(princ "\nKein Block ausgewaehlt.")
(princ)
(exit)
)
@@ -191,14 +190,30 @@
(c:OMNI_EDIT)
)
;; Unbekannter Blocktyp -> Standard BEDIT
;; Unbekannter Blocktyp -> natives EATTEDIT (Attribut-Editor)
(t
(princ (strcat "\nBlock bearbeiten (BEDIT): " bname))
(command "_.BEDIT" bname)
(princ (strcat "\nAttribute bearbeiten: " bname))
(command "_.EATTEDIT")
)
)
(princ)
)
;; ============================================================
;; C:EATTEDIT - Abfangen des eingebauten Doppelklick-Befehls
;; UNDEFINE zwingt BricsCAD, auch interne Aufrufe ueber LISP
;; zu leiten. Fallback auf _.EATTEDIT (Dot-Prefix = nativ,
;; kein Loop) fuer unbekannte Bloecke.
;; ============================================================
(defun c:EATTEDIT ()
(c:SSG_BLOCKEDIT)
)
(if (not *ssg-eattedit-undefined*)
(progn
(command "_.UNDEFINE" "EATTEDIT")
(setq *ssg-eattedit-undefined* t)
)
)
(princ "\nSSG_LIB_Commands.lsp geladen - Dummy-Befehle registriert.")
(princ)
+2 -2
View File
@@ -103,8 +103,8 @@
(princ "\n[SSG_LIB] WARNUNG: DXFMAKRO nicht gesetzt, Menue nicht geladen!")
)
;; DBLCLKEDIT deaktivieren (Block-Editor nicht bei Doppelklick oeffnen)
(setvar "DBLCLKEDIT" 0)
;; DBLCLKEDIT=1: Doppelklick aktiv, ***DOUBLECLICK-Eintraege steuern Block-Verhalten
(setvar "DBLCLKEDIT" 1)
(dbgflush)
+1 -1
View File
@@ -125,7 +125,7 @@
;; Pulldown-Menue in die Menueleiste einhaengen
(menucmd "P13=+SSG_LIB.POP1")
(setvar "DBLCLKEDIT" 0)
(setvar "DBLCLKEDIT" 1)
(princ "\n[SSG_LIB] Alle Module geladen. Menue aktiv.")
)
(princ "\n[SSG_LIB] WARNUNG: DXFM_LISP nicht gesetzt - Befehle nicht verfuegbar.")
+5
View File
@@ -126,6 +126,11 @@
***DOUBLECLICK
[INSERT]^C^C(ssg-ensure "SSG_LIB_Commands") SSG_BLOCKEDIT
[MTEXT]^C^CDDEDIT
[TEXT]^C^CDDEDIT
[ATTDEF]^C^CDDEDIT
[HATCH]^C^CHATCHEDIT
[DIMENSION]^C^CDDEDIT
***POP501
[SSG_LIB Edit Context]