| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: mit VB auf Linien einer gezeichneten Ansicht zugreifen (673 mal gelesen)
|
san Mitglied Maschinentechniker
Beiträge: 66 Registriert: 22.11.2002
|
erstellt am: 24. Mrz. 2005 10:50 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen! Wer weiss wie man mit VB auf die einzelnen Linien einer Draft-Ansicht, die vorgängig in eine gezeichnete Ansicht umgewandelt wurde, zugreift? DVLine2d funktioniert leider nicht. Eigentlich möchte ich die Linien auf verschiedene Layer schieben. Da ich das aber bei abgeleiteten Ansichten nicht kann, muss ich die Ansicht in eine gezeichnete Ansicht umwandeln und anschliessend die Linien auf die Layer verschieben. Damit ich die Linien noch voneinander unterscheiden kann, schiebe ich sie vorgängig auf andere Formatvorlagen. Oder hat jemand eine andere Idee, wie ich vorgehen könnte? Die Verbindung zum 3D-Modell muss nicht beibehalten werden, da die Zeichnung so oder so am Schluss als dxf abgespeichert wird. san Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied
Beiträge: 43 Registriert: 08.03.2005 Help... I need Somebodys help (Beatles)
|
erstellt am: 24. Mrz. 2005 13:34 <-- editieren / zitieren --> Unities abgeben: Nur für san
Hallo San, sag mal wie greifst Du denn auf die gezeichete Ansicht drauf zu? Ich habe das jetzt schon mit dem Objekt Background versucht und das funzt nicht. Also diese Linien DVLine2d haben nur einen Lesezugriff und es spieglt die Kanten des Models wieder.(lt. meinen bescheidenen Englischkenntnissen.) Jonas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
san Mitglied Maschinentechniker
Beiträge: 66 Registriert: 22.11.2002
|
erstellt am: 24. Mrz. 2005 14:29 <-- editieren / zitieren --> Unities abgeben:
bis jetzt habe ich das: Set SE_DrawingViews = SE_DraftDocument.ActiveSheet.DrawingViews For Each SE_DrawingView In SE_DrawingViews If SE_DrawingView.ModelMembers(1).IsFlat Then SE_DrawingView.ModelMembers(1).VisibleEdgeStyleName = "Abwicklung" SE_DrawingView.Update SE_DrawingView.Drop Else End If Next nach if then ... kannst du alles mögliche mit der Ansicht anstellen
Mehr habe ich bis jetzt leider auch noch nicht. san Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied
Beiträge: 43 Registriert: 08.03.2005 Help... I need Somebodys help (Beatles)
|
erstellt am: 24. Mrz. 2005 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für san
Mhh ja danke erst einmal mit ModelMember habe ich das auch schon versucht aber du hast mir da schon was voraus. Ich bin dabei für nen Bauteil in Draft zu programmieren. Allerdings wäre es besser, wenn ich das in der gezeichneten Ansicht mache,dann ist es nämlich unabhängig von Größenmaßstäben. Mhh also ich kann Dir mal zeigen was ich bereits habe. Funktioniert zwar noch nicht in der gezeichneten Ansicht aber immerhin schon mal nen Anfang.:-) Jonas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 24. Mrz. 2005 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für san
san, was willst du machen? du könntest dir z.B. mit Sheets.AddSheet ein neues Blatt aufmachen und deine Abwicklung hineinkopieren. Bei DrawingView.Drop werden DVLines2D in Lines2D usw. umgewandelt. Diese Linien erreichst du IMHO auch in der API nur mit 'In Ansicht zeichnen' (CommandID 40037), das Fenster kannst du nur mit objApp.ActiveWindow.Close wieder schließen und das ist ohne Eventüberwachung etwas gefährlich. pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied
Beiträge: 43 Registriert: 08.03.2005 Help... I need Somebodys help (Beatles)
|
erstellt am: 29. Mrz. 2005 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für san
|
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 29. Mrz. 2005 09:01 <-- editieren / zitieren --> Unities abgeben: Nur für san
nein, DVLines2d ist die Collection aller Kanten im Draft View ('In Ansicht zeichnen'). Sobald die Ansicht konvertiert wird ist kein Bezug mehr zum Teil vorhanden und daher auch keine Kanten -- es sind jetzt fuer SE schlicht und ergreifend Linien und die werden in der Lines2d Collection zusammengefasst Beides sind keine Liniensegmente im Sinne von 'Line segments' Generell: alle Linien, die sich von einem Teil ableiten sind in den DV...2d Collections zusammengefasst und nicht aenderbar. Alle Linien, die manuell eingezeichnet wurden sind in ...2d Collections zusammengefasst und, was Wunder, aenderbar. modeng [Diese Nachricht wurde von modeng am 29. Mrz. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonas Sommerfeld Mitglied
Beiträge: 43 Registriert: 08.03.2005 Help... I need Somebodys help (Beatles)
|
erstellt am: 29. Mrz. 2005 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für san
aja jetzt weiß ich schon mal warum ich zwar die Linien anfassen kann aber keine neuen Linien einfügen kann. mein text war bis jetzt set objDrawviews=objSheet.Drawingviews Set objDrawview=objDrawviews(1).DVLines2s(1) Set DV_Lines=objDrawview.DVLines2d(1).getStartpoint(x:=0,y:=0) aber so funzt das noch nicht. naja aber ich muß doch auch neue Linien setzen können. mal gucken was ich noch finde. jonas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |