Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Eigenschaften von Polylinien abfragen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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



Sehen Sie sich das Profil von Billii an!   Senden Sie eine Private Message an Billii  Schreiben Sie einen Gästebucheintrag für Billii

Beiträge: 92
Registriert: 05.05.2007

AutoCAD 2015
Inventor Professional 2015

erstellt am: 29. Jan. 2011 16:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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



Sehen Sie sich das Profil von Billii an!   Senden Sie eine Private Message an Billii  Schreiben Sie einen Gästebucheintrag für Billii

Beiträge: 92
Registriert: 05.05.2007

erstellt am: 29. Jan. 2011 17:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ja, das funzt.

danke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz