| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Finden von Edges (836 mal gelesen)
|
yamaha Mitglied Konstrukteur
Beiträge: 384 Registriert: 19.05.2004 Autocad/Inventor 2019, Windows 7 Pro 64Bit
|
erstellt am: 25. Jun. 2010 10:59 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, eine Frage zu Kanten/Edges. Man stelle sich einen Würfel vor und ich selektiere eine Kante des Würfels. Die Kante hat zwei Enden (StartVertex, StopVertex) Wie finde ich am einfachsten die drei anderen Kanten die am StartVertex zusammenkommen? Vielen Dank für eure Hilfe. ------------------ Gruß Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 25. Jun. 2010 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
|
yamaha Mitglied Konstrukteur
Beiträge: 384 Registriert: 19.05.2004 Autocad/Inventor 2019, Windows 7 Pro 64Bit
|
erstellt am: 25. Jun. 2010 11:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Igor, nur zu meinem Verständniss. A) Du schlägst vor eine Methode zu erstellen, nach - Variante 1: 1. von gewählten Kante, erhalte ich zwei Faces 2. von den Faces komme ich zu den anderen Faces 3. von den anderen Faces zu den jeweiligen Kanten. - Variante 2 1. von gewählten Kante, komme ich zum Würfel 2. vom Würfel komme ich zu den Faces 3. von den anderen Faces zu den jeweiligen Kanten. B) Ich wollte gefragt haben, ob es in der API eine Funktion gibt nach Art: FindeAlleTeileDieAufPunktLiegen(PunktXVZ) C) Funktioniert eigentlich? Edges1.StartVertex.Point = Edges2.StartVertex.Point ------------------ Gruß Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yamaha Mitglied Konstrukteur
Beiträge: 384 Registriert: 19.05.2004 Autocad/Inventor 2019, Windows 7 Pro 64Bit
|
erstellt am: 25. Jun. 2010 14:35 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, hab das jetzt so gelöst Code:
Dim oHS As Inventor.HighlightSet Set oHS = ThisApplication.ActiveDocument.CreateHighlightSet Set oGreen = ThisApplication.TransientObjects.CreateColor(0, 255, 0) oHS.Color = oGreen oHS.ClearDim oSelect As New clsSelect Set oEdge = oSelect.Pick(kAllLinearEntities) For Each oEdge1 In oEdge.Faces(1).FaceShell.SurfaceBody.Edges If ((oEdge1.StartVertex.Point.x = oEdge.StartVertex.Point.x) And _ (oEdge1.StartVertex.Point.Y = oEdge.StartVertex.Point.Y) And _ (oEdge1.StartVertex.Point.z = oEdge.StartVertex.Point.z)) Or _ ((oEdge1.StopVertex.Point.x = oEdge.StartVertex.Point.x) And _ (oEdge1.StopVertex.Point.Y = oEdge.StartVertex.Point.Y) And _ (oEdge1.StopVertex.Point.z = oEdge.StartVertex.Point.z)) Then If (oEdge1.StartVertex.Point.x = oEdge.StartVertex.Point.x) And _ (oEdge1.StopVertex.Point.x = oEdge.StartVertex.Point.x) Then oHS.AddItem oEdge1 End If End If Next
------------------ Gruß Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2580 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 25. Jun. 2010 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
Hallo Das könnte aber bei großen Modellen länger dauern. Mein Vorschlag wäre von der selektierten Edge auf deren Start- und Stopvertex, der wiederum alle in ihm endenden Edges liefert. Code: Private Sub EdgeTest()Dim oSelect As New clsSelect Set oEdge = oSelect.Pick(kAllLinearEntities) Dim oHS As Inventor.HighlightSet Set oHS = ThisApplication.ActiveDocument.CreateHighlightSet Set oGreen = ThisApplication.TransientObjects.CreateColor(0, 255, 0) oHS.Color = oGreen oHS.Clear Dim oVertex As Vertex Set oVertex = oEdge.StartVertex Dim oNeighbourEdge As Edge For Each oNeighbourEdge In oVertex.Edges oHS.AddItem oNeighbourEdge Next Set oVertex = oEdge.StopVertex For Each oNeighbourEdge In oVertex.Edges oHS.AddItem oNeighbourEdge Next End Sub
------------------ MfG RK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yamaha Mitglied Konstrukteur
Beiträge: 384 Registriert: 19.05.2004 Autocad/Inventor 2019, Windows 7 Pro 64Bit
|
erstellt am: 25. Jun. 2010 18:33 <-- editieren / zitieren --> Unities abgeben:
|