| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | |  | SolidWorks Kurs mit IHK-Zertifzierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: VB-API Zeichnungselemente auswählen (477 mal gelesen)
|
HarryD Mitglied Dipl.-Ing. Maschinenbau
  
 Beiträge: 597 Registriert: 01.12.2000 Dell Precision T3620, i7-7700; 3,6GHz; 16.0GB RAM; NX12, TC10.1.7.1; NX-Nastran 12, NX-Motion, "Denn Gott hat die Menschen so sehr geliebt, dass er seinen einzigen Sohn für sie hergab. Jeder, der an ihn glaubt, wird nicht verlorengehen, sondern das ewige Leben haben." Die Bibel
|
erstellt am: 30. Dez. 2002 16:03 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen besonders die, die zwischen den Feiertagen nichts schlechteres zu tun wissen, als sich hier im Forum rumzutreiben...  Folgende Frage: Wie kann ich mittels Makro alle Linien, Bögen Kreis etc. einer Zeichnung auswählen, um anschließend eine Fallunterscheidung durchzuführen: Alle Körperkanten (Linien der Linienart Dick) auf Layer 1 Alle Positionnr. auf Layer 2 Alle Texte auf Layer 3 Alle Bemassungen auf Layer 4 Alle restlichen Linien auf Layer 5 Läuft die Auswahl über SelectByID? Über die Aufzeichnung eines Makros wird man auch nicht schlauer, da man den Auswahlrahmen von Hand setzt und hinterher nur die Liste der ausgewählten Elemente auftaucht. Help, I need somebody Help, not just anybody... Soviel an Gute-Laune-Musik in unserem Hitforum  Gruß Harry ------------------ HarryD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 30. Dez. 2002 18:52 <-- editieren / zitieren --> Unities abgeben:          Nur für HarryD
Hallo Harry, hm, ich glaube, dass ist etwas komplizierter, als du es dir wünscht (zumindest kenn ich keinen einfachen Weg dafür). Ich versuch dir das am Beispiel der Bemaßungen zu erklären: 1. Das DrawingDoc holen 2. Loop über alle Sheets aufbauen 3. In jedem Sheet einen Loop über alle Views aufbauen 4. In jedem View mit View.GetFirstDisplayDimension3 die erste Bemaßung raussuchen (mit diesem View.GetFirst... gibt es einige, am Besten in der API -Hilfe nachschauen) 5. Über DisplayDimension.GetAnnotation das Annotation-Objekt dazu holen 6. und mit Annotation.Layer den Layer setzen, dann mit DisplayDimension.GetNext3 die nächste Bemaßung suchen So ähnlich mußt du das für alle Elemente machen, vielleicht kannst du auch direkt den Loop über die Annotations machen und darin mit Annotation.GetType schon mal alle Beschriftungstypen durchklappern und sortieren (also Bemaßungen, Mittelkreuze, Texte, Symbole usw.) Für die Linien hab ich keine Idee, könnte vielleicht mit View.GetLines4 oder View.GetPolyLines5 gehen, hab ich aber noch nie gemacht. Zumindest ein ordentlicher Batzen Arbeit, vor allem wenn's Automatensicher sein soll 
Ciao, Stefan PS: um bei den Beatles zu bleiben: It's been a hard day's night And I've been working like a dog It's been a hard day's night I should be sleeping like a log 
------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Müller Mitglied Masch. Ing. HTL / Betriebsing. STV
   
 Beiträge: 1151 Registriert: 11.04.2001
|
erstellt am: 30. Dez. 2002 21:50 <-- editieren / zitieren --> Unities abgeben:          Nur für HarryD
Hallo Harry! Für die Linen hab ich vielleicht einen Vorschlag, der die (ein bisschen) weiterhilft. Auf der Homepage von Solidworks gibt's ein Makro, "AutoBomBalloon" oder so ähnlich, das zum automatischen Einfügen von Stücklistensymbolen gemacht wurde. Soweit ich das Makro gelsen (und begriffen) habe, durchläuft es alle Linien die in einer View vorkommen. Kann ev. als "Lernhilfe" nützlich sein . Ich denke, Du hast Dir da einen grossen Brocken vorgenommen ! ------------------ Gruss Andreas A+E Müller AG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
HarryD Mitglied Dipl.-Ing. Maschinenbau
  
 Beiträge: 597 Registriert: 01.12.2000 Dell Precision T3620, i7-7700; 3,6GHz; 16.0GB RAM; NX12, TC10.1.7.1; NX-Nastran 12, NX-Motion, "Denn Gott hat die Menschen so sehr geliebt, dass er seinen einzigen Sohn für sie hergab. Jeder, der an ihn glaubt, wird nicht verlorengehen, sondern das ewige Leben haben." Die Bibel
|
erstellt am: 01. Jan. 2003 14:25 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |