| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Moderne CAx Entwicklungsmethoden: Generatives Design, Gitternetzstrukturen & MBD, ein Webinar am 11.10.2024
|
Autor
|
Thema: API - Maße in Zeichnung eintragen (902 mal gelesen)
|
FrankW. Mitglied Student
Beiträge: 4 Registriert: 27.09.2006
|
erstellt am: 27. Sep. 2006 16:20 <-- editieren / zitieren --> Unities abgeben:
HI, ich will in eine Zeichnug Bemaßungen eingragen, würde dies gerne über select4 machen. Kann mir nur jemand weiterhelfen, wie ich an die Objekte von "SILHOUETTE", "EDGE", "SILH_VERTEX", "CENTERMARKSYM" komme um diese direkt auszuwählen. wäre super wenn Ihr mir da weiter helfen könntet mfg Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wieching Mitglied Praktikant
Beiträge: 32 Registriert: 09.06.2006
|
erstellt am: 28. Sep. 2006 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für FrankW.
Wenn du die Benennung kennst über selectbyId2. Wenn du die nicht kennst, wird es schwierig. Beschreib doch mal etwas genauer, was du vor hast Grüße Daniel [Diese Nachricht wurde von wieching am 28. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FrankW. Mitglied Student
Beiträge: 4 Registriert: 27.09.2006
|
erstellt am: 28. Sep. 2006 09:09 <-- editieren / zitieren --> Unities abgeben:
Hi, danke für die antwort ich erstelle per api ein bauteil ( eine rundstange mit n bohrlöchern). von dieser will ich dann eine zeichnung generieren. wenn ich die maße automatisch eintragen lasse, werden die dies nicht so erstellt, wie es aussehen sollte. darum will ich die maße selber in die zeichnung einfügen und benötige dazu ja igrend welche selektierten kanten. habe es schon über SelectById2 und die koordinaten versucht aber das ist immer glücksache :-( darum wollte ich die kanten nun direkt erhalten denke die benennung könnte man herausfinden, die sollte ja gleich bleiben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wieching Mitglied Praktikant
Beiträge: 32 Registriert: 09.06.2006
|
erstellt am: 28. Sep. 2006 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für FrankW.
Das einfachste ist immer, sich ein Vorlage zu zeichnen, die dann komplett feritg bemaßt ist. Dann brauchst du nur noch die Maße ändern und er passt die Zeichnung automatisch an. Per API neue Maße in ner Zeichnung erzeugen glaub ich recht umständlich. Haste mal ausprobiert, was der Makrorecorder dazu sagt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FrankW. Mitglied Student
Beiträge: 4 Registriert: 27.09.2006
|
erstellt am: 28. Sep. 2006 10:18 <-- editieren / zitieren --> Unities abgeben:
das mit der vorlage hab ich auch schon überlegt aber ich habe ja n bohrungen, da müsste ich ja für jeden fall eine zeichnung ablegen. der makrorecorder geht leider auch nur auf die koordinaten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wieching Mitglied Praktikant
Beiträge: 32 Registriert: 09.06.2006
|
erstellt am: 28. Sep. 2006 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für FrankW.
Und wenn du n lineares Muster von den Bohrungen erzeugst? Die bohrungen gehören doch bestimmt irgendwie zusammen. Machste z.B. 4 verschiedene Muster und unterdrückst die, die du nicht brauchst. Dann kannste noch die Muster nehmen und die abstände und die anzahl verändern und einzelne Elemente des Musters rausschmeißen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wieching Mitglied Praktikant
Beiträge: 32 Registriert: 09.06.2006
|
erstellt am: 28. Sep. 2006 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für FrankW.
du kannst auch während der erstellung die Pointer zu deinen Features speichern: z.B. mit fpointer = ModelDoc.FeatureByPositionReverse(1) dann kannst du diese mit fpointer.select2 auswählen. da kriegst du über das Feature Object bestimmt auch deine Kanten edge = fpointer.EdgeFlangeFeatureData.Edge könnte funktionieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FrankW. Mitglied Student
Beiträge: 4 Registriert: 27.09.2006
|
erstellt am: 28. Sep. 2006 10:53 <-- editieren / zitieren --> Unities abgeben:
|
sbtSDA Mitglied Softwareentwickler
Beiträge: 30 Registriert: 12.04.2006 Dell PRECISION M70 2,0 GHz; 2 GB RAM NVIDIA Quadro FX Go 1400 MS Win XP Prof SP2 SolidWorks 2005 SP5.0 SolidWorks 2006 SP5.0 SolidWorks 2007 SP1.0 MS Office Prof 2003 Visual Basic 6 Visual Studio 2005 Express
|
erstellt am: 28. Sep. 2006 11:07 <-- editieren / zitieren --> Unities abgeben: Nur für FrankW.
Hallo, das mit dem Picken der Kanten (Edge) auf der Zeichnung klappt eigentlich immer solang es keine vom Typ SILHOUETTE ist. Hier empfehle ich die Linien aus der Skizze zu selektieren (egal ob Konstruktionslinie oder nicht - kann beides sein). Außerdem ist es wichtig, gerade bei Bohrungen da Kreiskanten, den richtigen Zoom vor dem Picken einzustellen, dann klappt das auch. Hier ein bischen VB.NET Code: Code:
'Wir spannen um die Pick-Koordinate ein Rechteck auf 'an das wir hinzoomen und Picken dann zu. 'Wenn es nicht klappt dann weiter weg zoomen und wieder probieren. 'Der AutoSnap besorgt den Rest ... und das probieren wir iXmal mal! 'Hinweis: Auf dem Blatt spielt die Z-Koordinaten keine Rolle --> =0 For iXmal As Integer = 1 To 5 Step 1 ' And die übergebenen Koordinaten heranzoomen ' Koordinaten in Blattkoordinaten!!! (keine Viewkoordinaten) ModelDoc.ViewZoomTo2( _ dX - dDeltaZoom * iXmal, _ dY - dDeltaZoom * iXmal, 0, _ dX + dDeltaZoom * iXmal, _ dY + dDeltaZoom * iXmal, 0) ' Kante selektieren If ModelDocExtension.SelectByID2( _ "", "EDGE", dX, dY, 0, False, 0, Nothing, 0) Then Exit For Next iXmal
------------------ Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral. (John Osborne 1929 - 1994) Schuler Design Automation GmbH kontakt@schuler-da.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |