| |
 | 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: Außenkante (1368 mal gelesen)
|
RoyCAD Mitglied Dipl-Ing Energietechnik
 
 Beiträge: 206 Registriert: 24.05.2004 Win XP AutoCAD2008-2010 Inventor 2008-2010 Productstream Compass P4 3,0GHz 512MB Ram
|
erstellt am: 16. Dez. 2004 11:49 <-- editieren / zitieren --> Unities abgeben:         
Ich brauche ein Tipp. Ich will ein Cod schreiben der Linien zeichnet, von der miete aus bis zur einer Außenkante. Jedoch ich weis nicht wie kann ich die Endpunkte definieren. Es handelt sich um beliebige geschlossne Konturen. Das soll ungefähr so funktionieren wie bei der Schafuhr, wo man die Auswahlpunke wählt und AutoCAD erkennt automatisch die Außenkontur und dann ist der Endpunkt von der Schafuhr definiert. Da ich erst anfange Lisp zu schreiben, ist die Frage bisschen unverständlich, jedoch für jeden Tipp bin ich sehr dankbar. Mit freundlichen Grüßen RoyCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
flaschenpost Mitglied Architekt
 
 Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 16. Dez. 2004 12:16 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
|
Theodor Schoenwald Ehrenmitglied
    
 Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 19. Dez. 2004 17:41 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
|
RoyCAD Mitglied Dipl-Ing Energietechnik
 
 Beiträge: 206 Registriert: 24.05.2004 Win XP AutoCAD2008-2010 Inventor 2008-2010 Productstream Compass P4 3,0GHz 512MB Ram
|
erstellt am: 20. Dez. 2004 14:08 <-- editieren / zitieren --> Unities abgeben:         
Wenn sicher ist, daß sich dort keine weiteren Objekte befinden und der äußere Umriß geschlossen ist, gibt es noch eine schnelle Möglichkeit. Befehl: _boundary starten und mit (entget (entlast)) einfach die Koordinaten des zuletzt gezeichneten Elements abrufen. Kannst du vielleicht bisschen genauer das beschreiben
Gruß RoyCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
flaschenpost Mitglied Architekt
 
 Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 20. Dez. 2004 18:02 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
|
RoyCAD Mitglied Dipl-Ing Energietechnik
 
 Beiträge: 206 Registriert: 24.05.2004 Win XP AutoCAD2008-2010 Inventor 2008-2010 Productstream Compass P4 3,0GHz 512MB Ram
|
erstellt am: 21. Dez. 2004 08:17 <-- editieren / zitieren --> Unities abgeben:         
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ bitte stelle Deine Fragen etwas weniger allgemeingültig, damit wir wenigstens das Gefühl haben, dass Du Dich intensiv mit dem Thema auseinandersetzt. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Ok kein Problem es ist halt so, ich schreibe ein Code, das die Platten von einer Decke zeichnet. Das Problem liegt daran, wenn die Decke kein 4-eck ist kann ich die Endpunkte nicht so richtig definieren. Deshalb bin ich daran interessiert wie kann ich die Aussenkanten meiner Decke als Endpunkte definieren. Dadurch wird es die ganze Code um Einiges kurzer und übersichtiger. P.S. Ich habe mit dem boundary Befehl schon probiert aber so richtig geht es noch nicht Die Daten von der Aussenkante werden gelesen aber wie kann ich die weiter verwenden. (command "_.boundary" "end" ) (setq AX (entget (entlast))) (setq votz (getpoint "Mittelpunkt wählen")) (setq bil (list (nth 14 Ax) (nth 1 votz) 0.0)) (command "linie" votz (nth 14 Ax) "") Decke- Platten (setq pts (list ( + (nth 0 ptm) 23.9) (+ (nth 1 ptm) 42.0) 0.0)) (setq pty (list ( nth 0 ptm ) (- (nth 1 pt7) (nth 1 ptm)) 0.0)) (setq ptx (list ( nth 0 ptm ) (* (nth 1 pty ) (/ (sqrt 3) 3)) 0.0)) (setq ptxy (list(+ (nth 0 pt7 ) (nth 1 ptx)) (nth 1 pt7) 0.0)) (setq ptw (list (+ ( nth 0 ptm) (nth 1 ptx)) (- (nth 1 ptom) 3.5) 0.0)) (setq pth (list ( nth 0 ptxy) (nth 1 pt7) 0.0)) (setq länge (distance pts pth)) (setq ptleg (polar pts (/ PI 3.0) länge)) (setq ptpower (inters pth pt7 pts ptleg [aufseg] )) (command "_pline" pt6 pt7 pt7 ptpower pts "_a" "_r" 48.3 pt6 "") Gruß RoyCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
flaschenpost Mitglied Architekt
 
 Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 21. Dez. 2004 12:38 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Hallo RoyCAD, Anfänger sollten die Lisp in Einzelteile zerlegen und jeden Teil für sich prüfen, bevor sie alles zusammensetzen. So mache ich es auch. Wichtig ist, dass das Element eine LWPolylinie ist. Wenn Du Dir die Definitionsdaten anschaust, da gibt es den Gruppencode 10 mehrfach. Dieser Code liefert Dir die Scheitelpunkte der Polylinie. Mit assoc bekommst Du den ersten Punkt, mit einer Schleife z.B. while könntest Du alle Punkte auslesen. Und member ist hier noch brauchbar. Probier mal, ob Du das hinbekommst. Gruß Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |