| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Objekte ausblenden (6823 mal gelesen)
|
Ellyse Mitglied Teilkonstrukteur
Beiträge: 21 Registriert: 02.03.2001
|
erstellt am: 18. Jan. 2002 13:16 <-- editieren / zitieren --> Unities abgeben:
|
Herby Mitglied
Beiträge: 11 Registriert: 18.01.2002 ACAD2000i, ADT3 EcsCad WIN2000 P3 256MB HP DesignJet 750C+
|
erstellt am: 18. Jan. 2002 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
Hallo, eine Funktion, bei der man Objekte nur anklicken muß um sie auszublenden kenne ich auch nicht. Vielleicht hilft aber die Funktion WIPEOUT aus den Expresstools. Damit legt man einen polygonalen Rahmen um das Objekt. Innerhalb des Rahmens werden alle Objekte ausgeblendet. Der Rahmen selbst kann ausgeschaltet werden, so daß nichts mehr sichtbar ist. Gruß Herby Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
otterloh Mitglied
Beiträge: 188 Registriert: 27.06.2001 AutoCAD 2012, 2013, 2019 Win8.1
|
erstellt am: 18. Jan. 2002 17:52 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
Hallo Ellyse, ja geht. (defun C:AUS (/ sset_1 i entity) (defun *error* (msg) (princ "\nKEINE OBJEKTE GEWÄHLT.................. ") (princ) ) (setvar "CMDECHO" 0) (regapp "AUSBLEND") (if (not (tblsearch "LAYER" "PARKLAYER")) (command "_layer" "_n" "PARKLAYER" "_fr" "PARKLAYER" "") ) (if (not (zerop (cdr (assoc 70 (tblsearch "LAYER" "PARKLAYER"))))) (command "_layer" "_fr" "PARKLAYER" "") ) (princ "\nZUM AUSBLENDEN - BITTE DIE ") (setq sset_1 (ssget) i (sslength sset_1) ) (while (>= (setq i (1- i)) 0) (setq entity (entget (ssname sset_1 i))) (entmod (cons (list -3 (list "AUSBLEND" (cons 1000 (cdr (assoc 8 entity))))) (subst (cons 8 "PARKLAYER") (assoc 8 entity) entity) ) ) ) (princ) ) ------------------------------------------------------------------------------- (defun C:EIN (/ sset_1 i ename entity) (defun *error* (msg) (princ "\nKEINE OBJEKTE GEFUNDEN................. ") (princ) ) (setvar "CMDECHO" 0) (princ "\nSUCHE NACH AUSGEBLENDETEN OBJEKTEN.....") (setq sset_1 (ssget "X" (list (cons 8 "PARKLAYER")))) (if (/= sset_1 nil) (princ "\nAUSBLENDUNG WURDE RÜCKGÄNGIG GEMACHT....") ) (setq i (sslength sset_1)) (while (>= (setq i (1- i)) 0) (setq ename (ssname sset_1 i) entity (entget ename (list "AUSBLEND")) ) (entmod (append (subst (cons 8 (cdr (cadadr (assoc -3 entity)))) (assoc 8 entity) (entget ename) ) (list (list -3 (list "AUSBLEND"))) ) ) ) (princ) ) (princ) Gruss Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Jessen Mitglied Dipl-Ing (FH) Landespflege
Beiträge: 195 Registriert: 10.01.2002 ACADMap2011
|
erstellt am: 21. Jan. 2002 08:08 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
Hallo Ellyse, wenn Du regelmäßig das Problem hast, Objekte ausschalten zu wollen, sich aber immer auch viele andere Objekte auf dem Layer befinden, die nicht ausgeschaltet werden sollen, solltest Du vieleicht einfach mehr Layer anlegen. So bist Du beim Layermanagement flexibler! ------------------ AJ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 21. Jan. 2002 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
@ ellyse: Dein Wunsch: "ich möchte im AutoCAD 2000 Objekte auf einem Layer anklicken und ausblenden, ohne den Layer auszuschalten." kann erfüllt werden. Wenn der DXF-Code 60 eines Objektes = 1 ist, ist es unsichtbar. D.h. Du benötigst ein Tool, daß von Dir anzuklickende Objekte dahingehend manipuliert. Kopiere folgende Code-Zeilen hier raus in Notepad und speichere Sie in eine Datei "sh.lsp" in ein Acad-Support-Verzeichnis. Lade das pgm dann in Acad mit (load "sh.lsp"). Objektwahl starten dann mit Eingabe von "nsh" (ohne Hochkommas!), Objekte zum Ausschalten auswählen, Enter wenn fertig und weg sind die Racker. Zum Einschalten aller ausgeschalteten Objekte gebe "tnsh" ein. Ich benutze diese Funktion schon genau so und unverändert seit Release 12. Funktioniert 100% zuverlässig. Dir sollte natürlich bewußt sein, daß man einer DWG nicht ansieht, daß dort Elemente existieren, die ausgeschaltet sind. Du kannst zwar alle wieder sichtbar machen ("tnsh" !!) aber wenn andere User die in die Finger kriegen wissen die evtl. gar nix von dem Tool. Also bevor Du Deine DWG weitergibst alle Objekte wieder anschalten! ("TNSH" meldet auch, wenn keine Elemente unsichtbar geschaltet sind.) Have fun with it! Geiles Tool das. Ciao, Marc PS: Ist aber nicht von mir geschrieben worden...
Code:
;********************** Beginn Befehle **************************; NSH schaltet alle gewählten Elemente aus (Noshow) (defun C:NSH ( / a) (princ "\nZum Ausschalten") (setq a (ssget)) ; sichtbare wählen (if a (noshow a) ; ausschalten (princ "\nKeine Elemente gewählt\n") ) (princ) ) ; SSH schaltet die gewählten Elemente wieder ein (Switch to show) ; Achtung: nach (grclear) können auch Elemente gefunden werden, die momentan unsichtbar sind, ; sich aber trotzdem schon im eingeschalteten Zustand befinden. Durch diese Auswahl ; wird aber ihr Zustand nicht verändert! (defun C:SSH ( / a b) (setq a (ssget "X" (list (cons 60 1))) ; Alle ausgeschalteteten aus der Datenbank holen ) (if a (progn (grclear) ; alle sichtbaren löschen (show a) ; alle unsichtbaren zeigen (princ "\nZur Sichtbarkeit") (setq b (ssget)) ; gewünschte wählen (if b ; falls welche gewählt (progn (noshow (sssub a b)) ; von den bisher unsichtbaren die gewählten herausnehmen (show b ) ; und die gewählten wieder sichtbar machen ) (noshow a) ; wenn keine gewählt, wieder alle Unsichtbaren zurück ) ) (princ "\nKeine Elemente unsichtbar geschaltet\n") ) (redraw) ; Bildschirm wieder herstellen (princ) ) ; TNSH schaltet alle unsichtbaren Elemente wieder sichtbat (toggle all noshow entities to show) (defun C:TNSH ( / a) (setq a (ssget "X" (list (cons 60 1))) ; alle unsichtbaren in der Datenbank suchen ) (if a ; falls welche gefunden (show a) ; diese anzeigen (princ "\nKeine Elemente unsichtbar geschaltet\n") ) (princ) ) ;********************** Ende Befehle ************************** ;**********************Beginn Funktionen **************************** ; sssub subtrahiert von Auswahlsatz a Entities die in Auswahlsatz b enthalten sind (defun sssub (a b / c d e) (setq d 0.0) ; Realzahl als Indexzeiger für Auswahlsatz verwenden (while (setq e (ssname b d)) (if (ssmemb e a) (setq a (ssdel e a)) ) (setq d (1+ d)) ) a ) ; noshow schaltet die Entities in Auswahlsatz a unsichtbar
(defun noshow ( a / b c d e) (setq b (sslength a) c 0.0 ) (while (setq d (ssname a c)) (setq e (entget d) ; Hier muß zum ersten Mal auf die Reihenfolge der Unterlisten in der Elementliste geachtet werden: ; e (append (list (cons 60 1)) e) würde mit R13 Entities nicht funktionieren ! e (append e (list (cons 60 1))) ) (entmod e) (setq c (1+ c)) ) ; Ende while ) ; show schaltet die Entities in Auswahlsatz a sichtbar
(defun show ( a / b c d e) (setq b (sslength a) c 0.0 ) (while (setq d (ssname a c)) (setq e (entget d) e (subst (cons 60 0) (assoc 60 e) e ) ; Hier gilt für die Reihenfolge das Gleiche wie bei noshow ) (entmod e) (setq c (1+ c)) ) ; Ende while ) ; fld gibt die zu a assozierte Unterliste aus Liste b zurück
(defun fld (a b) (cdr(assoc a b)) ) ;**********************Ende Funktionen ****************************
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001
|
erstellt am: 21. Jan. 2002 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
|
Ellyse Mitglied Teilkonstrukteur
Beiträge: 21 Registriert: 02.03.2001
|
erstellt am: 21. Jan. 2002 13:21 <-- editieren / zitieren --> Unities abgeben:
|
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 21. Jan. 2002 21:38 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3373 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: 03. Sep. 2002 07:43 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1973 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 03. Sep. 2002 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
|
cadffm Moderator 良い精神
Beiträge: 21709 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Sep. 2002 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
Bin zwar nicht Marc, aber fühle mich irgendwie auch angesprochen... Antwort: Jain ! - wenn du das in deine Seite einstellst dann schreibe dazu das dies kein "Spielzeug" ist !!! Mann kann es zwar von überall herholen [zB ja jetzt von hier] aber bei dir ist es praktisch dann das Silbertablett... Warum kein Spielzeug ???- ganz einfach, es gibt von allen Zeichnern die ich Privat kenne nur einen der Ahnung hat (weit mehr wie ich) was dort im Prog passiert, das sowas überhaupt geht- alle anderen würden einfach losheulen wenn ACAD sagt es wäre ein Kreis vorhanden und sie sehen aber keinen, ...liegt am Code60!- ist das was zu essen? würde man als Antwort erhalten. Jeder (Viele) der eine Datei mit ausgeschalteten Objekten erhält wäre restlos überfordert, und Nachlässigkeit sowie Vergesslichkeit ist an der Tagesordnung (bei jedem) nur: die einen weniger die anderen ein ganzes Stück mehr! Naja, macht euch mal Gedanken ------------------ Gruß Sebastian ,FFM [Diese Nachricht wurde von cadffm am 03. September 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 03. Sep. 2002 09:28 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
Hi Wiesel, der Code ist nicht von mir. Ich hab' den irgendwo mal gesehen, seitdem benutze ich ihn ständig. Ist tierisch zuverlässig und funzt unverändert seit R12. Mach damit was Du für richtig hälst. PS: Wenn Du ihn verwendest, weise bitte auf die Risiken hin! ------------------ Ciao, Marc [Diese Nachricht wurde von marc.scherer am 03. September 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 03. Sep. 2002 19:26 <-- editieren / zitieren --> Unities abgeben: Nur für Ellyse
|