| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: LWPolyline (1319 mal gelesen)
|
matzi Mitglied Vermesser
Beiträge: 2 Registriert: 25.10.2005
|
erstellt am: 25. Okt. 2005 15:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich mache gerade meine ersten Gehversuche in VBA Programmierung. Vielleicht ist's eh ganz einfach: Wie kann ich bei einer LWPolyline feststellen, ob diese Bögen enthält. Ich sehe beim Objekt nur die Stützpunkte und demnach sieht auch ein Linienzug mit Bögen wie ein linearer Zug aus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 25. Okt. 2005 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für matzi
Willkommen im Forum! Aber in der Hilfe findest du das Object-Model und wenn du dir da mal das LIGHTWEIGTPOLYLINE-Objekt anguckst findest du die Methode GetBulge .. die wendest du auf alle Stützpunktnummern an (Länge von Property Coordinates / 2 ).. wenn das Ergebnis immer 0 .. dann enthält die LW-Polylinie keine Bögen. aus der Hilfe: Sub Example_GetBulge() ' This example creates a lightweight polyline in model space. ' It then finds and changes the bulge for a given segment. Dim plineObj As AcadLWPolyline Dim points(0 To 11) As Double ' Define the 2D polyline points points(0) = 1: points(1) = 1 points(2) = 1: points(3) = 2 points(4) = 2: points(5) = 2 points(6) = 3: points(7) = 2 points(8) = 4: points(9) = 4 points(10) = 4: points(11) = 1 ' Create a lightweight Polyline object in model space Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) ZoomAll ' Find the bulge of the third segment Dim currentBulge As Double currentBulge = plineObj.GetBulge(3) MsgBox "The bulge for the third segment is " & plineObj.GetBulge(3), , "GetBulge Example" ' Change the bulge of the third segment plineObj.SetBulge 3, -0.5 plineObj.Update MsgBox "The bulge for the third segment is now " & plineObj.GetBulge(3), , "GetBulge Example" End Sub
------------------ - 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 |
matzi Mitglied Vermesser
Beiträge: 2 Registriert: 25.10.2005
|
erstellt am: 25. Okt. 2005 15:27 <-- editieren / zitieren --> Unities abgeben:
|
Pitsch52 Mitglied Mechaniker /Konstrukteur
Beiträge: 44 Registriert: 03.01.2005
|
erstellt am: 27. Okt. 2005 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für matzi
Hi Leute Wenn wir schon gerade bei diesem Thema sind, würde mich und vielleicht etliche Programmierer interressieren wie die Formel lautet um Tangential ansetzende Bögen zu estellen. Wenn die Schenkel rechtwinklig sind, so ergibt sich ein Bulge-Wert(Ich nenne das hier mal so) von etwa 0.414. Wie sieht es aus, wenn kein Winkel von 90° gegeben ist? Da muss doch der Bulge-Wert irgendwie aus dem Winkel der beiden Segmente zu errechnen sein. Nur bin ich bis Jetzt noch nicht darauf gekommen, wie das geht. Kennt sich da jemand aus? Mit freundlichen Grüssen! Pitsch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 27. Okt. 2005 19:25 <-- editieren / zitieren --> Unities abgeben: Nur für matzi
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 27. Okt. 2005 20:17 <-- editieren / zitieren --> Unities abgeben: Nur für matzi
|