| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Auswahlsatz an einen „Sendcommand“ Befehl zu übergeben (1498 mal gelesen)
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008 ACAD 2019 WIN 7 64bit Intel Xenon CPU E5-1620 3.60GHz 16GB RAM
|
erstellt am: 09. Okt. 2008 13:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, gibt es eine Möglichkeit einen Auswahlsatz an einen „Sendcommand“ Befehl zu übergeben? Set aws2 = ThisDrawing.SelectionSets.Add("sr22") aws2.AddItems Satz ThisDrawing.SendCommand "_explode" aws2 Ich erstelle einen neuen Auswahlsatz. Füge diesem die Objekte zu, die sich im Feld „Satz“ befinden. Dann möchte ich die Objekte des Auswahlsatzes mit „ThisDrawing.SendCommand "_explode"“ auflösen, aber das funktioniert so natürlich nicht. Wie kann ich die Objekte des Auswahlsatzes an die ACAD-Befehlszeile übergeben.? Vielen Dank für Eure Hilfe.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 09. Okt. 2008 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 09. Okt. 2008 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
_Explode verhält sich im Script und in command-Aufrufen so, dass jeweils nur ein Objekt aufgelöst werden kann. Es reicht also, das entsprechende Object als ENAME-Type zu übergeben. ------------------ - 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 |
Ex-Mitglied
|
erstellt am: 09. Okt. 2008 13:40 <-- editieren / zitieren -->
hi, wieso nicht einzeln explodieren? (auch in beug auf deine message 'explodieren nicht gleichmaessig skalierter bloecke') dim tEnt as AcadEntity for each tEnt in aws2 on error resume next dim tModSpEntMaxCount as Integer tModSpEntMaxCount = ThisDrawing.ModelSpace.Count 'wir merken uns damit, 'ab wo die explodierten elemente stehen tEnt.Explode 'ich gehe davon aus, dass hier nur blockref's stehen if Err.Number <> 0 then 'dann den weg ueber sendcommand err.clear call ThisDrawing.SendCommand("_explode" & vbcr & "(handent """ & tEnt.Handle & """)" & vbcr) end if if (Err.Number = 0) and (ThisDrawing.ModelSpace.Count > tModSpEntMaxCount) then 'da jetzt die taetigkeiten, die du mit den explodierten teilen machen willst endif next VORSICHT: ist nur so geschrieben, tippfehler, klammerfehler, anfuehrungszeichenfehler, logikfehler(?)koennen enthalten sein. aber den weg sollte es dir zeigen.
- alfred - |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 09. Okt. 2008 14:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred Danke, das war die Lösung. Funktioniert einwandfrei. Ich hab zwar mit Lisp auch schon ein bisschen probiert, aber da wäre ich selber nicht drauf gekommen. Wie kann ich mich erkenntlich zeigen. Was hat es mit diesen Units auf sich. Sorry ich bin hier noch sehr neu. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 09. Okt. 2008 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
|