| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Eigenschaften von Polylinien abfragen (3253 mal gelesen)
|
Billii Mitglied
Beiträge: 92 Registriert: 05.05.2007 AutoCAD 2015 Inventor Professional 2015
|
erstellt am: 29. Jan. 2011 16:17 <-- editieren / zitieren --> Unities abgeben:
Hallo, hab hier einen Code, mit dem ich Flächen von Regionen ermitteln kann. So ähnlich möchte ich Flächen von geschlossenen oder Längen von offenen Polylinien ermitteln. Ich krieg aber nicht raus, welchen String ich an dateValue(0) übergeben muß, damit er überhaupt Polylinien findet. Versuche mit "Polyline", "Pline", "Polylinie", "AcadPolyline" und weitere führen nicht zum Erfolg. Wäre auch nett, wenn mir jemand erklärt, wann ich "Polyline", "AcadPolyline" oder "AcDbPolyline" nehme. Und was zum Kuckuk ist eine LWPolyline?
Code: Public Sub Main() Dim ss As AcadSelectionSet Dim ssAnzahl As Integer Dim dataValue(0) As Variant Dim groupCode As Variant Dim gpCode(0) As Integer Dim flaeche() As Long Dim i As Integer Dim strFlaeche As String Dim lonSumme As Long Set ss = ThisDrawing.SelectionSets.Add("Selektion1") dataValue(0) = "Region" groupCode = gpCode ss.Select acSelectionSetAll, , , groupCode, dataValue ssAnzahl = ss.Count ReDim flaeche(ssAnzahl) For i = 0 To ssAnzahl - 1 flaeche(i) = ss(i).Area / 1000 Next For i = 0 To ssAnzahl - 1 strFlaeche = strFlaeche & "Fläche " & i + 1 & "= " & flaeche(i) & "cm²" & vbCr Next MsgBox strFlaeche ss.Delete End Sub
Danke für Eure Mühe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Jan. 2011 16:31 <-- editieren / zitieren -->
Hi, eine LWPolylinie ist eine speicherparendere Form eines Linienzugs, welcher gewisse Optionen (z.B. ausgerundet) zwar nicht anbietet, dafür aber um eine Menge schneller am Display und speichersparender im DWG-File ist. Eingeführt wurde diese, wenn ich mich recht entsinne, mit AutoCAD 14. Die fehlenden Optionen merkt der CAD-Anwender nicht, denn wählt dieser beim Befehl PEDIT eine der Kurven-Optionen, wandelt AutoCAD das LWPolylinien-Element selbständig in die 'alte' Polylinienform um (diese wird jetzt im Eigenschaftsfenster als '2D-Polylinie' ausgewiesen). Auszug/Modifikationen zu Deinem Code:
Code: '.... dataValue(0) = "*Poly*" 'damit bekommst Du alle Polylinien-Arten gpCode(0) = 0 ss.Select acSelectionSetAll, , , gpCode, dataValue '...
>> wenn mir jemand erklärt, wann ich "Polyline", "AcadPolyline" oder "AcDbPolyline" nehme ...sind Bezeichnungen der Geometrie, für jeweils unterschiedliche Zugriffsmethoden. 'AcDbPolyline' passt zu DXF-Code 100 'Polyline' passt zu DXF-Code 0 'AcadPolyline' ist die Bezeichnung des Objekts für COM-Zugriff HTH, - alfred - ------------------ www.hollaus.at |
Billii Mitglied
Beiträge: 92 Registriert: 05.05.2007
|
erstellt am: 29. Jan. 2011 17:32 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|