| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD |
| |
 | CADflow Free ist ein komplettes Architektur-CAD-System, das sofort einsatzbereit ist! , eine App
|
Autor
|
Thema: NUKE by Block (83 / mal gelesen)
|
Mr.Zuk Mitglied technischer Planer

 Beiträge: 14 Registriert: 18.04.2023
|
erstellt am: 15. Okt. 2025 09:43 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Die "NUKE.lsp" ist bei uns schon Standard. Jetzt wäre es noch super wenn man die Eigenschaften (Farbe/Linien) auf "vonBlock" setzen kann. Oder noch besser "flexibel" - also die Eigenschaften von Farbe, Linienart u. Linienstärke separat auf "VonLayer" oder "VonBlock" - eben eine LISP für jeden Fall. Irgendwo hier im Forum habe ich schon solche Ansätze gelesen aber finde es einfach nicht mehr. Vielen Dank schonmal... Grüße Daniel ------------------ "Willst du etwas erledigt haben, geh selbst; wenn nicht, schicke andere." (Benjamin Franklin) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general

 Beiträge: 3469 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 16. Okt. 2025 12:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Mr.Zuk
Servus, Das LSP ist gut kommentiert, wenns von Cadwiesel ist. Bitte Quelle angeben. Farbe 0 > BYBLOCK Linientyp BYBLOCK Code:
(if(assoc 62 EDATA) ;Resets object color to BYLAYER if it isn't. (setq EDATA(subst(cons 62 256)(assoc 62 EDATA)EDATA)) );if (if(assoc 6 EDATA) ;Resets object linetype to BYLAYER if it isn't. (setq EDATA(subst(cons 6 "BYLAYER")(assoc 6 EDATA)EDATA)) );if (setq EDATA(subst (cons 8 "0")(assoc 8 EDATA)EDATA));changes layer to 0 (entmod EDATA);updates entity (setq E (entnext E));get next enitiy, nil if end of block
------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神

 Beiträge: 22705 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 16. Okt. 2025 12:31 <-- editieren / zitieren --> Unities abgeben:          Nur für Mr.Zuk
|
Mr.Zuk Mitglied technischer Planer

 Beiträge: 14 Registriert: 18.04.2023
|
erstellt am: 16. Okt. 2025 16:14 <-- editieren / zitieren --> Unities abgeben:         
Ja super Tip mit der Google-Suche. Geht sehr gut So konnte ich einen Thread finden der auch noch die Transparenz auf "VonBlock" setzt. Danke soweit für die Eure Tipps. Jetzt habe ich 2 Nuke-Befehle geladen aber immer nur der letzte ist aktiv. Wie muss ich jetzt die Befehlsnamen richtig eintragen? So reicht es offensichtlich nicht: (defun C:NUKE_BB( / BLK_NM CHOICE E EDATA IDX PK_BLK SS) . . . );defun (prompt"\nNUKE_BB zum Starten.")(princ) ------------------ "Willst du etwas erledigt haben, geh selbst; wenn nicht, schicke andere." (Benjamin Franklin) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神

 Beiträge: 22705 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 16. Okt. 2025 16:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Mr.Zuk
Doch, genau so! "immer nur der letzte ist aktiv" Weil bei gleichnamigen Funktionen die zuletzt definierte Funktion, die Funktion mit selben Namen, neudefiniert. Genau
Aber schau dir die Zeilen in Nuke.lsp noch einmal an, darin sind zwei Funktionen
1. C:NUKE 2. To-0 In C:NUKE wird die Funktion To-0 aufgerufen und das ist ja auch die eigentliche Funktion, welche du geändert hast. Du benötigst also zwei Nuke und zwei To-0
zB. c:NUKE und c:NUKE_BB und später sicher auch noch andere sowie To-0 und To-0_bb Neben den Zeilen (defun c:nuke und (defun To-0 änderst du also auch noch den schönen prompt am Ende (hast du schon gemacht, top) UND innerhalb von (defun c:Nuke.............) änderst du dann noch den Aufruf der anderen Funktion Nuke_bb soll ja To-0_bb aufrufen.. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mr.Zuk Mitglied technischer Planer

 Beiträge: 14 Registriert: 18.04.2023
|
erstellt am: 16. Okt. 2025 17:19 <-- editieren / zitieren --> Unities abgeben:         
Irgendwie hab ich wohl noch einen Fehler. Habe mal meine nuke_bb angehängt... ------------------ Schöne Grüße, Daniel "Willst du etwas erledigt haben, geh selbst; wenn nicht, schicke andere." (Benjamin Franklin) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神

 Beiträge: 22705 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 16. Okt. 2025 18:49 <-- editieren / zitieren --> Unities abgeben:          Nur für Mr.Zuk
wie ärgerlich, aber du hast es schon richtig gemacht, nur Zitat: Original erstellt von cadffm: Aber schau dir die Zeilen in Nuke.lsp noch einmal an, darin sind zwei Funktionen1. C:NUKE 2. To-0 In C:NUKE wird die Funktion To-0 [EDIT]ZWEI MAL[/EDIT] aufgerufen und das ist ja auch die eigentliche Funktion, welche du geändert hast.
SORRY! Für den GLOBALen Teil hast du den Aufruf geändert, jedoch gibt es einen zweiten für die SELECT Variante! (setq PK_BLK (To-0 PK_BLK))(setq PK_BLK (To-0_bb PK_BLK))
[Diese Nachricht wurde von cadffm am 16. Okt. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |