Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Polylinie Laufrichtung ändern?

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
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Polylinie Laufrichtung ändern? (1797 mal gelesen)
henrym2
Mitglied
Vermesser


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

Beiträge: 10
Registriert: 18.05.2005

erstellt am: 06. Nov. 2006 10:43    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 Leute,

hat jemand eine idee wie ich die laufrichtung einer Polylinie ändern kann ohne sie neu zu erstellen ?
Hintergrund dieser aktion ist das ich mehrere macros habe welche in Laufrichtung links eine schraffur erstellen.

Bei 3d Polylinien habe ich vor einiger zeit was geschrieben wo ich die einzelnen stützpunkte der linie auslese und eine neue linie von der anderen seite her zeichne... ist jedoch meiner meinung nach nicht elegant gelöst.. funktioniert aber 

Vielen dank im voraus
henrym

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 06. Nov. 2006 10:53    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 Nur für henrym2 10 Unities + Antwort hilfreich

..die Coords (getcoords)auslesen -> daraus die Stützpunkte ermitteln .. die zu den Stützpunkten gehörenden Bulges auslesen (getbulge).. die Dicken auslesen (getwidth)..
, dann die Stützpunktliste umkehren wirder Coords draus machen und zurückschreiben.. die Bulges und Dicken umkehren und um 1 versetzt zurückschreiben .. fertig.
Code kann ich dir leider keinen anbieten, da ich bloß ne Lisplösung hab.

------------------
      - 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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 06. Nov. 2006 12:53    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 Nur für henrym2 10 Unities + Antwort hilfreich

Hi,

Hier Mal eine Lösung die ich im Internet gefunden habe.

Option Explicit

Public Sub testReversePline()
Dim oDoc As AcadDocument, oPline As AcadLWPolyline, vp As Variant
Set oDoc = ThisDrawing
oDoc.Utility.GetEntity oPline, vp, "Pick pline to reverse"

Dim oPline2 As AcadLWPolyline
Dim a As Integer
Dim oBLk As AcadBlock
Set oBLk = oDoc.ObjectIdToObject(oPline.OwnerID)

Dim points
points = oPline.Coordinates

Dim Points2() As Double
ReDim Preserve Points2(0 To UBound(points)) As Double

'create second array of points, last point from the
'selected line first etc.
For a = LBound(points) To UBound(points) Step 2
Points2(a) = points(UBound(points) - a - 1)
Points2(a + 1) = points(UBound(points) - a)
Next

'create new polyline in reversed direction
Set oPline2 = oBLk.AddLightWeightPolyline(Points2)
Dim c As Integer

'create reversed bulges
c = (UBound(points) - 3) / 2
For a = 0 To c
oPline2.SetBulge (c - a), -oPline.GetBulge(a)
Next

'delete original
oPline.Delete

Set oPline2 = Nothing

End Sub

Gruß, Carsten

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



Anzeige:Infos zum Werbeplatz >>

cseTools Lizenzserver CAD APP für Allgemeine Werkzeuge

Für die cseTools bieten wir flexible Lizenzierungsoptionen an. Dauer- und Mietlizenzen sowie jeweils Einzelplatz- und Netzwerklizenzen. Wenn Sie Ihre Lizenzen im Netzwerk mit allen Benutzern teilen möchten, wird der cseTools Lizenzserver benötigt.

henrym2
Mitglied
Vermesser


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

Beiträge: 10
Registriert: 18.05.2005

erstellt am: 06. Nov. 2006 14:26    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

vielen dank leute, hab meine lösung gefunden und werde mich an die arbeit machen 

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)2025 CAD.de | Impressum | Datenschutz