| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Winkelbemaßungen filtern (1354 mal gelesen)
|
RalphRX8 Mitglied Kontruktionsbüro
Beiträge: 333 Registriert: 17.11.2004
|
erstellt am: 20. Feb. 2015 16:04 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich suche eine Befehlszeile mit der ich alle Winkelbemaßungen sprengen kann. Ich habe es mit ssget "X" probiert, aber irgendwie bekomme ich das nicht hin. Kann mir jemand helfen? Viele Grüße Ralph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 20. Feb. 2015 16:28 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
Zitat: Original erstellt von RalphRX8:
Ich habe es mit ssget "X" probiert,
Was genau hast Du probiert? Evtl. genügt Dir die Information, daß der Bemaßungstyp (Winkelbemaßung) im Gruppencode 70 (=37) veschlüsselt ist. [EDIT: Codewert korrigiert]. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 20. Feb. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 20. Feb. 2015 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
Hallo Ralf, probier mal folgenden Code, vielleicht noch ein bißchen anpassen. Es wird ein ganz normaler Auswahlsatz erstellt mit der FilterList (0. "DIMENSION") Weil dann aber alle Bemassungen im AWS enthalten sind wird der AWS in einer REPEAT-Schleife nochmal auf die Objektnamen geprüft. Code:
(defun c:test ( / AWS OBJNAMELIST) (setq ObjNameList'("AcDb2LineAngularDimension")) (if (and (setq aws (ssget (list (cons 0 "DIMENSION")))) (setq aws (test:awsCheck aws ObjNameList))) (sssetfirst aws aws))) ;;;Prüfen, obj Objekte des Auswahlsatzes Winkelbemassung (defun test:awsCheck (aws ObjNameList / AWS1 N) (setq n 0 aws1 (ssadd)) (repeat (sslength aws) (if (member(vla-get-ObjectName (vlax-ename->vla-object (ssname aws n))) ObjNameList) (ssadd (ssname aws n)aws1) ) (setq n (+ n 1))) (if (/=(sslength aws1)0) aws1))
In der Variablen ObjNameList kannst Du noch weiteren Objektnamen von Bemassungen einfügen. Wenn Du den Objektname von einer Bemassung brauchst nimmst Du einfach folgenden Code und startest diesen direkt über die Befehlszeile und pickst ein Bemassungselement: (vla-get-ObjectName(vlax-ename->vla-object(car(entsel)))) Ein schönes WE wüsche ich ------------------ viele Grüße
Jörn http://www.bosse-engineering.com Bäume stutzen Youtube [Diese Nachricht wurde von joern bosse am 20. Feb. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 20. Feb. 2015 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
Hallo Ralph, Jupa hatte mit der ersten Aussage (Wert 2 in GC 70) schon recht. Dazu kommt noch 32, was laut Hilfe immer eingestellt wird. Also sollte helfen: Code:
(ssget "_X" '((0 . "DIMENSION")(70 . 34)))
Ergänzung: (70 . 34) liefert (2-Punkt) Winkelbemaßung, (70 . 37) liefert 3-Punkt-Winkelbemaßung und
Code: (ssget "_X" '((0 . "DIMENSION")(-4 . "<OR")(70 . 34) (70 . 37)(-4 . "OR>")))
wählt dann beides. HTH Gruß Thomas [Diese Nachricht wurde von spider_dd am 20. Feb. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 20. Feb. 2015 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
Hmm, nun bin ich mir aber unsicher: In meiner ersten Antwortvariante hatte ich kurz in die Liste der DXF-Gruppencodes geschaut und dort den Wert 2 gefunden. Dann habe ich eine Winkelbemaßung erstellt und mit entget nachgesehen, da hat die Bemaßung den GC 37, deshalb schnell korrigiert. Und jetzt kommt noch ein dritter Wert (34) ins Spiel? Da muß ich nachher doch mal genauer hinschauen. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphRX8 Mitglied Kontruktionsbüro
Beiträge: 333 Registriert: 17.11.2004
|
erstellt am: 20. Feb. 2015 16:58 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, zunächst mal Danke für die Antworten. Das wars was ich gebraucht habe: (ssget "_X" '((0 . "DIMENSION")(70 . 34))) Habe immer versucht mit (100 . "AcDb2DAngularDimension") aber der hat immer alle Bemaßungen genommen. Oh Mann, ich hab jetzt bestimmt 5 Stunden deswegen rumgeeiert. Woher wisst Ihr diese Codes? Viele Grüße Ralph
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 20. Feb. 2015 17:00 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
Ohje, der GC 70 ist auch abhängig von der Art und Weise, wie die Winkelbemaßung erzeugt wurde - durch Picken zweier Linien, durch Wählen eines Kreises oder Bogens, durch drei Punkte - da wird man also noch eine ODER-Bedingung mit einbauen müssen ... Jürgen [EDIT]: Viel zu langsam, liegt's am Alter? ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 20. Feb. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 20. Feb. 2015 17:03 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
|
RalphRX8 Mitglied Kontruktionsbüro
Beiträge: 333 Registriert: 17.11.2004
|
erstellt am: 20. Feb. 2015 17:09 <-- editieren / zitieren --> Unities abgeben:
|
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 20. Feb. 2015 17:14 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
Zitat: Original erstellt von RalphRX8:
Hab eben rausgefunden dass es den (70 . 162) auch noch gibt.
Wenn's denn stimmt (kann ich jetzt nicht prüfen), dann packst Du das (70 . 162) einfach noch in die Oder_Klammer in den oben von Thomas ergänzten Code ein. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Feb. 2015 17:21 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
|
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 23. Feb. 2015 08:15 <-- editieren / zitieren --> Unities abgeben: Nur für RalphRX8
Zitat: Original erstellt von RalphRX8: ... Hab eben rausgefunden dass es den (70 . 162) auch noch gibt. Hoffe das gibts nicht noch mehr
Hallo Ralph, richtig, 162 gibt es auch noch. Wie der von cadffm verlinkten Liste zu entnehmen ist, ist der Bitwert 128 noch gesetzt, wenn der Maßtext nicht an der Standardposition gesetzt ist. Damit ergibt sich für (2-Punkt)Winkelbemaßungen ein GC-Code von (70 . 162). Für die 3-Punkt-Winkelbemaßung kommt dann logischerweise noch die (70 . 165) dazu. Haben wir jetzt alles?? Gruß Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |