| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: Entnext bei gefrorenen Elementen (594 mal gelesen)
|
Hans-Leo Müller Mitglied Lehrer an Berufsbildenden Schulen

 Beiträge: 30 Registriert: 24.09.2003
|
erstellt am: 02. Feb. 2004 22:26 <-- editieren / zitieren --> Unities abgeben:         
Hallo an alle, besteht die Möglichkeit die Funktion ENTNEXT so einzusetzen, dass die Namen von gefrorenen Objekten nicht zurückgegeben werden ? Könnte evtl. die Funktion tblsearch helfen? Gruß Hans-Leo
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: 02. Feb. 2004 22:46 <-- editieren / zitieren --> Unities abgeben:          Nur für Hans-Leo Müller
Hi Hans-Leo, ich glaube da wirst Du um einen Test "Ist-Objekt-auf-Locked-Layer" nicht rumkommen. Dürfte aber relativ einfach sein. Einfach alle Layernamen von gefrorenen / gesperrten Layern in eine Liste schreiben, Objektlayernamen auslesen [(cdr (assoc 0 (entget [objname])))] und dann vergleichen mit member. ------------------ Ciao, Marc 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. Feb. 2004 09:52 <-- editieren / zitieren --> Unities abgeben:          Nur für Hans-Leo Müller
Hi, hier mal 'n bißchen Code, der bei mir so rumlag: Code:
(defun MS:VL-LOCKED-AND-FROZEN-LAYER-LIST (/ RETVAL) (vlax-for LAYER (DOCUMENT-LAYERS) (setq RETVAL (cons (list (VLAX*GET-PROPERTY LAYER 'NAME ) ;_ end of vlax*get-property (VLAX*GET-PROPERTY LAYER 'FREEZE ) ;_ end of vlax*get-property (VLAX*GET-PROPERTY LAYER 'LOCK ) ;_ end of vlax*get-property ) ;_ end of list RETVAL ) ;_ end of cons ) ;_ end of setq ) ;_ end of vlax-for (setq RETVAL (vl-remove 'NIL (mapcar (function (lambda (X) (if (or (= (cadr X) ':vlax-true) (= (caddr X) ':vlax-true) ) ;_ end of and (car X) ) ;_ end of if ) ;_ end of lambda ) ;_ end of function RETVAL ) ;_ end of mapcar ) ;_ end of vl-remove ) ;_ end of setq (if RETVAL (reverse RETVAL) ) ;_ end of if ) ;;; Ein wenig "mapcar-Axel-Magic" :-) ;;; Axel wo bist Du bloß? (defun VLAX*GET-PROPERTY (OBJ PROPS /) (if (null OBJ) (setq OBJ (vlax-get-acad-object)) ) ;_ end of if (if (and (listp PROPS) (cdr PROPS)) (vlax-get-property (VLAX*GET-PROPERTY OBJ (cdr PROPS)) (car PROPS) ) ;_ end of vlax-get-property (vlax-get-property OBJ (if (listp PROPS) (car PROPS) PROPS ) ;_ end of if ) ;_ end of vlax-get-property ) ;_ end of if )
;; Gibt die Layer-Collection zurück (defun DOCUMENT-LAYERS (/) (vla-get-layers (CURRENT-DOCUMENT) ) ;_ end of vla-get-layers ) ;_ end of defun ;; gibt die aktuelle Zeichnung zurück (defun CURRENT-DOCUMENT (/) (vla-get-activedocument (vlax-get-acad-object) ) ;_ end of vla-get-activedocument )
(MS:VL-LOCKED-AND-FROZEN-LAYER-LIST ) gibt Dir 'ne Layer-Namensliste aller gesperrten und/oder gefrorenen Layer zurück. nil, wenn keiner diesen Zustand hat. ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hans-Leo Müller Mitglied Lehrer an Berufsbildenden Schulen

 Beiträge: 30 Registriert: 24.09.2003
|
erstellt am: 05. Feb. 2004 21:51 <-- editieren / zitieren --> Unities abgeben:         
Hallo Marc, ohne deine Hilfe hätte ich das so nie hinbekommen. Bin jetzt in der Lage alle Bohrungen und Gewinde in einer Zeichung zu finden und für den NC-Code aufzubereiten, gefrorene Layer werden jetzt ignoriert. Auch der Tipp mit der Funktion member war nützlich. Die Zeile: (IF (NOT (member lay RETVAL)) filtert mir alle gefrorenen Layer aus! Danke Hans-Leo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |