| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Layer ein/aus (1862 mal gelesen)
|
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 08. Jul. 2005 09:53 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jul. 2005 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
ob Layer gefroren oder nicht ist im GC 70 verborgen: Daten holen .. (setq DATEN(tblobjname "LAYER" LAYERNAME)) ..tauen (entmod(subst(cons 70 (boole 2(cdr(assoc 70 DATEN))1))(assoc 70 DATEN)DATEN)) frieren (entmod(subst(cons 70 (boole 7(cdr(assoc 70 DATEN))1))(assoc 70 DATEN)DATEN)) .. Ob an oder aus entscheidet sich am Vorzeichen des GC62 ..layer aus (entmod(subst(cons 62 (*(abs(cdr(assoc 62 DATEN)))-1))(assoc 62 DATEN)DATEN)) .. Layer an (entmod(subst(cons 62 (abs(cdr(assoc 62 DATEN))))(assoc 62 DATEN)DATEN)) mit ActiveX geht's aber IMHO einfacher
..tauen (vla-put-freeze (vla-item (vla-get-layers(vla-get-activedocument(vlax-get-acad-object))) LAYERNAME) :vlax-false ) ..frieren (vla-put-freeze (vla-item (vla-get-layers(vla-get-activedocument(vlax-get-acad-object))) LAYERNAME) :vlax-true ) ..anschalten (vla-put-layeron (vla-item (vla-get-layers(vla-get-activedocument(vlax-get-acad-object))) LAYERNAME) :vlax-true ) ..ausschalten (vla-put-layeron (vla-item (vla-get-layers(vla-get-activedocument(vlax-get-acad-object))) LAYERNAME) :vlax-false ) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
[Diese Nachricht wurde von CADmium am 08. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 08. Jul. 2005 10:10 <-- editieren / zitieren --> Unities abgeben:
|
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 08. Jul. 2005 10:17 <-- editieren / zitieren --> Unities abgeben:
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, ..., AutoCADs 200X, SWX 2kX
|
erstellt am: 08. Jul. 2005 10:19 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jul. 2005 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
zu IMHOund mach mal (tblsearch "LAYER" "0") und (entget(tblobjname "LAYER" "0")) und vergleiche die Rückgabelisten ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
[Diese Nachricht wurde von CADmium am 08. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 08. Jul. 2005 10:53 <-- editieren / zitieren --> Unities abgeben:
Funktioniert ja wunderbar mit den ActiveX, aber nach dem Tauen muss ich die Zeichnung regenerieren. Da gibt es doch sicher auch ein (vl...)-Befehl dazu? Könntest du mir diesen auch noch verraten? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jul. 2005 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
ja, kann ich .. steht aber auch alles in der Hilfe .. (vla-Regen(vla-get-activedocument(vlax-get-acad-object))acAllViewports) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 08. Jul. 2005 11:03 <-- editieren / zitieren --> Unities abgeben:
Danke für deine Gedult, aber ich bin mit den VL-Befehlen noch nie ganz warm geworden. Kann nur ein bisschen Lisp programmieren. Mit so praktischen Anwendungen, schaffe ich es vielleicht ja doch noch mit diesen Befehlen anzufreunen. Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 08. Jul. 2005 12:32 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jul. 2005 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
(vlax-for ITEM (vla-get-layers(vla-get-activedocument(vlax-get-acad-object))) (if(wcmatch (vla-get-name ITEM) "S*") (vl-catch-all-apply 'vla-put-freeze (list ITEM :vlax-true)) ) ) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
85Nina85 Mitglied Vermessungsingenieurin
Beiträge: 5 Registriert: 06.07.2023 Auto CAD Civil 3D 2024
|
erstellt am: 24. Jul. 2023 11:48 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Hallo CADmium Ich bin auf diesen uralten Beitrag gestossen, da ich mittels LISP einen Layer frieren möchte. Nun habe ich das mit Deinem Code (ohne Active-X) versucht.. geht aber leider nicht, da kommt immer die Fehlermeldung: Fehlerhafter Argumenttyp: listp <Objektname: 1fb99fa23e0> Kannst du mir weiterhelfen? Besten Dank!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 24. Jul. 2023 12:09 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Ohne deinen Code zu kennen.. Deine DATEN zeigt auf einen Objektnamen, das Programm erwartet aber eine Liste LISTP prüft ob etwas eine Liste ist, falls nicht -> Fehler. Daher das LISTP in der Meldung (setq DATEN(tblobjname "LAYER" LAYERNAME)) ; Das Layer-Objekt selbst <Objektname: 1fb99fa23e0>
(setq DATEN (entget DATEN)) ; die Daten des Layer-Objekt in einer Liste mit Unterliste / DottedPAirs ((-1 . <Objektname: 1e7cf9f6100> ) (0 . "LAYER") (5 . "10") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous") ...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
85Nina85 Mitglied Vermessungsingenieurin
Beiträge: 5 Registriert: 06.07.2023 Auto CAD Civil 3D 2024
|
erstellt am: 24. Jul. 2023 13:38 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
|