| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD |
| |
| Das genaue CAD-Abbild für den Tiefbau, eine Pressemitteilung
|
Autor
|
Thema: Layer abfragen und reagieren (1724 / mal gelesen)
|
FireBuff Mitglied EDV Admin , GIS Verantw.
Beiträge: 57 Registriert: 01.08.2013 BricsCad
|
erstellt am: 22. Sep. 2017 07:34 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte Layer in vielen Dateien abgleichen ( anzeigen, einfrieren, Farbe ) und die Befehle in einer LISP Datei zusammenfassen. Ich habe im Netz schon gesucht, aber nichts brauchbares gefunden. Also ich suche folgendes: - Wenn layer "Ort" angezeigt wird > dann > so bleiben
; wenn ? command "_.layer" "E" "Ort" "") ; dann (command "_.layer" "E" "Ort" "") - Wenn layer "Ort" NICHT angezeigt wird > dann > anzeigen ; wenn ? command "_.layer" "A" "Ort" "") ; dann (command "_.layer" "E" "Ort" "") - Wenn layer "Ort" aufgetaut ist > dann > so bleiben ; wenn ? command "_.layer" "T" "Ort" "") ; dann (command "_.layer" "T" "Ort" "") - Wenn layer "Ort" NICHT aufgetaut ist > dann > auftauen ; wenn ? command "_.layer" "FR" "Ort" "") ; dann (command "_.layer" "T" "Ort" "") - Wenn layer "Ort" die Farbe "255,0,0" hat > dann > so bleiben ; wenn ? command "_.layer" "F" "255,0,0" "Ort" "") ; dann (command "_.layer" "F" "255,0,0" "Ort" "") - Wenn layer "Ort" andere Farbe hat > dann > Farbe in "255,0,0" ändern ; wenn ? NICHT command "_.layer" "F" "255,0,0" "Ort" "") ; dann (command "_.layer" "F" "255,0,0" "Ort" "") Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 22. Sep. 2017 08:17 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
|
FireBuff Mitglied EDV Admin , GIS Verantw.
Beiträge: 57 Registriert: 01.08.2013 BricsCad
|
erstellt am: 22. Sep. 2017 09:31 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 22. Sep. 2017 09:48 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
wenn fragen kannst du mit (if oder (cond stellen. Was soll deine Aussage Zitat: Wenn layer "Ort" angezeigt wird
bedeuten? Ist der Layer dann als Aktuell eingestellt? Oder ist er getaut, oder eingeschaltet? Die Farbe eines Layers fragst du am Besten über die Layertabelle ab: Code: (cdr(assoc 62(entget(TBLOBJNAME "Layer""ORT"))))
Die Eigenschaft gefroren/getaut steht in dem GC 70 Die Eigenschaft an/aus steht im dem GC 62 (negativ) ...und los.... ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FireBuff Mitglied EDV Admin , GIS Verantw.
Beiträge: 57 Registriert: 01.08.2013 BricsCad
|
erstellt am: 22. Sep. 2017 09:55 <-- editieren / zitieren --> Unities abgeben:
|
FireBuff Mitglied EDV Admin , GIS Verantw.
Beiträge: 57 Registriert: 01.08.2013 BricsCad
|
erstellt am: 26. Sep. 2017 11:15 <-- editieren / zitieren --> Unities abgeben:
So bis gestern versucht ohne Erfolg bin halt Anfänger Ich dachte das geht so vielleicht: ( ich weis das ist vba oder anderes - aber vielleicht besser zu verstehen ) (If command "_.layer" "A" "Ort" "") (command "_.layer" "E" "Ort" "") else (command "_.layer" "E" "Ort" "") endif) (If command "_.layer" "F" "255,0,0" "Ort" "") (command "_.layer" "F" "255,0,0" "Ort" "") else (command "_.layer" "F" "255,0,0" "Ort" "") endIF) So würde ich es besser verstehen, wenn das iO ist - auch wenn das hier nicht gehen kann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 26. Sep. 2017 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
|
FireBuff Mitglied EDV Admin , GIS Verantw.
Beiträge: 57 Registriert: 01.08.2013 BricsCad
|
erstellt am: 26. Sep. 2017 12:12 <-- editieren / zitieren --> Unities abgeben:
OK das mache ich doch gern. Ich habe sehr viele Dateien die ich ständig bearbeite. Alle haben die gleichen ! 127 Layer ! Zum Bearbeiten werden verschiedene Layer verändert ( eingefroren, ausgeblendet, Farbe verändert ) Jetzt möchte ich zu Beginn der Bearbeitung alles gleich einrichten bzw. abgleichen und das auch beim beenden der Dateibearbeitung Jetzt habe ich mir ein Menü bzw. Werkzeug eingerichtet, welches eine LISP Datei startet. Ich möchte nur eine Datei zum abgleichen starten. Deshalb die Abfrage der einzelnen Layer und den daraus ergebenen Befehl. Ich hab in meiner Anfrage im Forum nur das mir fehlende versucht zu erfragen ?!?
[Diese Nachricht wurde von FireBuff am 26. Sep. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 BricsCAD V11 - V24 Pro Visual Basic
|
erstellt am: 26. Sep. 2017 12:43 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
|
FireBuff Mitglied EDV Admin , GIS Verantw.
Beiträge: 57 Registriert: 01.08.2013 BricsCad
|
erstellt am: 26. Sep. 2017 13:27 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 27. Sep. 2017 11:40 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
meine Frage war Zitat: Was soll deine Aussage Zitat:Wenn layer "Ort" angezeigt wird bedeuten? Ist der Layer dann als Aktuell eingestellt? Oder ist er getaut, oder eingeschaltet?
was sollte Deiner Meinuung nach passieren, wenn du z.b. diesen Befehl ausführst? Code: (command "_.layer" "E" "Ort" "")
Ist der Layer Ort eingeschaltet, oder ausgeschaltet? ist er gefrohren oder getaut? ist er aktuell oder nicht.. Um mal auf deine Beschreibung einzugehen... du möchtest zu beginn der Sitzung bestimmte, namentlich bekannte Layer, die in der Zeichnung vorhanden sind in einen bestimmten Zustand versetzen? ist das so richtig?
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FireBuff Mitglied EDV Admin , GIS Verantw.
Beiträge: 57 Registriert: 01.08.2013 BricsCad
|
erstellt am: 27. Sep. 2017 13:45 <-- editieren / zitieren --> Unities abgeben:
Ja - Abfragen über ein Menü-Punkt und dann soll der Befehl reagieren Ich möchte nur "einen Punkt" für 2 Befehle ( Sichtbar / Unsichtbar ) Dafür die Abfrage und Reaktion Es soll immer das Gegenteil des vorhandenen erreicht werden. Wenn >> (command "_.layer" "E" "Ort" "") >> dann >> (command "_.layer" "A" "Ort" "") Wenn >> (command "_.layer" "A" "Ort" "") >> dann >> (command "_.layer" "E" "Ort" "")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 27. Sep. 2017 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 27. Sep. 2017 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 27. Sep. 2017 16:04 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
|
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 BricsCAD V11 - V24 Pro Visual Basic
|
erstellt am: 27. Sep. 2017 19:34 <-- editieren / zitieren --> Unities abgeben: Nur für FireBuff
Zitat: Original erstellt von FireBuff: - das kann schon sein.Ich möchte aber nicht alle Layer abgleichen ! Nur von mir festgelegte ! Das festlegen soll durch die LISP Datei gesteuert und übernommen werden.
(Ginge auch ohne die vielen Ausrufezeichen) Man kann einen Filter einstellen (Layer auswählen) und diesen Status dann speichern, dann hat man genau die Layer zum ändern die man möchte. Aber wer gerne programmiert .... (mir geht es ja manchmal auch so) Grüße Klaus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |