• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Lisp, um festzustellen, ob eine Polylinie im Uhrzeigersinn oder im Uhrzeigersinn konstruiert wurde

  • Ersteller Ersteller wind_skin
  • Erstellt am Erstellt am

wind_skin

Guest
Hallo, ich frage Sie Experten, ob es eine Lispe (mit .lsp Erweiterung) gibt, die feststellen kann, ob eine geschlossene Polylinie im Uhrzeigersinn oder gegen den Uhrzeigersinn gezogen wurde.
Danke im Voraus.
 
Dies ist ein Programm, das ich vor einiger Zeit erstellt habe, um zu überprüfen, ob die Polylinie im Uhrzeigersinn oder gegen den Uhrzeigersinn ist. Bitte beachten Sie, dass, wenn die Polylinie mit dem Befehl _bpoly erstellt wird, immer gegen den Uhrzeigersinn ist. Wenn Sie interessiert sind, habe ich auch das Programm, um das Gefühl von Polylinea (erstellt, um es auf Autocad-Versionen zu verwenden, die nicht die umgekehrte Option des Editpl-Befehls haben).
 

Anhänge

Ich kam über die doslib.arx Bibliothek, die kostenlos und leicht in Autocad geladen werden kann, die eine Mine von erweiterten Funktionen enthält, gut dokumentiert.
unter diesen die dos_plinewinding Funktion, die Ihr Problem löst.

(dos_plinewinding Entity)
die Bezeichnung der Einheit einer geschlossenen Polylinie.

zurück
> 0 wenn die Polylinie nach links windet.
< 0 wenn die Polylinie nach rechts windet.
0 wenn die Wicklung nicht bestimmt werden kann.
nil auf Fehler.

Beispiel.
Befehl: (dos_plinewinding (Auto (entsel "\nselect a Closed Polyline:"))
-1
 
Ziel war es, alles zu lösen, ohne zusätzliche Bibliotheken zu installieren. Es geschah mir wieder, Doslib vorzuschlagen, um ein weiteres Problem zu lösen. der Gesprächspartner hat kategorisch abgelehnt. .
 
Ziel war es, alles zu lösen, ohne zusätzliche Bibliotheken zu installieren. Es geschah mir wieder, Doslib vorzuschlagen, um ein weiteres Problem zu lösen. der Gesprächspartner hat kategorisch abgelehnt. .
und was sollte das Problem sein? sind frei, sie sind nicht schwer..
und dann sind die Express-Tools nicht auch eine externe Bibliothek?
 
oft müssen meine Programme sie ohne Hilfe von externen Bibliotheken erstellen. Leider muss ich auch die Möglichkeit berücksichtigen, dass jemand keine Express-Tools installiert hat, obwohl sehr unannehmlich.
Aber ich muss sagen, dass das hier etwas anders ist.
 
Ich danke sowohl für die Hilfe als auch für das Interesse; ich werde versuchen, Sie zu aktualisieren. Tatsächlich brauche ich eine Funktion, um in ein kleines Programm einzufügen, das ich schreiben will und dass ich einen Gcode für den Werkzeugpfad eines cnc direkt von autocad produzieren muss. Es ist gut, dass es spezielle Software für diesen Zweck gibt, aber ich möchte auch versuchen.
Nochmals vielen Dank: Sie sind sehr freundlich.
 
Dies ist ein Programm, das ich vor einiger Zeit erstellt habe, um zu überprüfen, ob die Polylinie im Uhrzeigersinn oder gegen den Uhrzeigersinn ist. Bitte beachten Sie, dass, wenn die Polylinie mit dem Befehl _bpoly erstellt wird, immer gegen den Uhrzeigersinn ist. Wenn Sie interessiert sind, habe ich auch das Programm, um das Gefühl von Polylinea (erstellt, um es auf Autocad-Versionen zu verwenden, die nicht die umgekehrte Option des Editpl-Befehls haben).
confutatis, Ich habe gerade versucht, die Lispe, die Sie freundlich befestigt, zu laden, aber es gibt mir den folgenden Fehler in der Ladephase "; Fehler: falsche Liste in der Eingabe".
Ich versuchte beide mit 2008 und 2011. genauer gesagt, der Betrachter ist der folgende:
"Befehl: _Appload plor.lsp geladen. "
"Befehl: ; Fehler: falsche Liste in Eingabe"
 
einmal so viel, dass ich mich an die (vl-load-com), Ich vergesse die Klammern, bah...
Dank confutatis, Ihr Programm arbeitet egregiously mit allen Arten von Polylinea, die ich hatte die Möglichkeit zu versuchen, außer die geschlossen nur durch einen Kreisbogen und ein Segment (es ist nicht, weil).
Danke noch mal, du warst sehr nett und kostbar.
 
mit nur zwei Vertices wie verstehen Sie die Uhr oder gegen den Uhrzeigersinn? Ich dachte, das Mindeste war drei...
 
der dritte Gipfel (der fehlende) könnte der durchschnittliche Punkt des Kreisbogens sein.
Ich wurde inspiriert und kreiert: in allen zweiseitigen Polylinien und einer der beiden Seiten ist ein Kreisbogen, auf dem gleichen ein dritter Gipfel im Durchschnitt eingefügt wird.
all dies durch die Nutzung der mächtigen vlisp-Funktionen des Entity-Managements.
 

Anhänge

Ich wurde inspiriert und kreiert: in allen zweiseitigen Polylinien und einer der beiden Seiten ist ein Kreisbogen, auf dem gleichen ein dritter Gipfel im Durchschnitt eingefügt wird.
all dies durch die Nutzung der mächtigen vlisp-Funktionen des Entity-Managements.
Hallo confutatis, ich habe das Programm versucht, das du geschrieben hast, aber ich habe nicht das gewünschte Ergebnis erhalten (ich weiß nicht, wo ich falsch bin). Ich hänge eine Datei an, die ein Beispiel für geschlossene Polylinea aus einem Kreisbogen und einem Segment enthält: Wenn Sie Zeit haben (Ich will nicht Ihre Freundlichkeit nutzen), werfen Sie einen Blick.
Danke.
 

Anhänge

Nein, du irrst dich nicht, ich bin derjenige, der andere Möglichkeiten nicht berücksichtigt hat. im konkreten Fall waren die ursprünglichen Vertiken nicht zwei, sondern drei, die letzte war mit der ersten zusammenfallen, aber zur Programmierung ist eine geschlossene Polylinie mit n Vertices von einer offenen Polylinie mit n+1 Vertices verschieden, von denen der erste und der letzte Zufall, auch wenn Video identisch sind.
 

Anhänge

confutatis, ich habe dein Programm versucht und es funktioniert. Zusammenfassend glaube ich, dass ich verstanden habe, dass, wenn Sie mit einem geschlossenen Polylinea aus einem Kreisbogen und einem Segment umgehen müssen, müssen Sie zuerst "umver" beginnen und dann die Orientierung durch "plor" biegen. korrigiert mich, wenn ich mich irre. Jetzt werde ich versuchen, die beiden Programme in einem zu verbinden: Ich hoffe, ich kann.
Dank für Ihre Verfügbarkeit und Freundlichkeit.
 
Ja, ich habe tatsächlich die beiden separaten Programme verlassen, da Aumver mir nur gelegentlich dienen konnte. Wie auch immer, wenn du Spaß haben willst, sie zu verbinden, mach weiter! :smile:
 
der Zeit-Zeit-Sense nur auf geschlossenen Polylinien Sinn macht. Was ist der Punkt, eine offene Polylinie zu geben? für diese nur den umgekehrten Befehl. an der Grenze kann ich von der Auswahl alle offenen Polylinien entfernen. .
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben