| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Welche Objekte beim Abrunden und Pedit (verbinden)? (782 mal gelesen)
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung und AutoLISPler
    
 Beiträge: 1781 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 11. Apr. 2012 07:55 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe folgendes Problem: Ich habe zwei Polylinien auf dem Layer "Layer1" und "Layer2". Wenn ich diese mit ABRUNDEN (Radius 0) oder PEDIT (verbinden) zu einer Polylinie zusammenfasse, dann gibt das zuerst gepickte Element den Layer für die resultierende Polyinie vor. Habe ich eine Möglichkeit zu erfragen, ob ich zuerst die Polylinie z.B. auf dem Layer "Layer1" gepickt habe? Grund: Ich möchte, wenn eine Polyinie auf einem bestimmten Layer an der Aktion beteiligt ist, daß auch die "Ergebnis"-Polylinie auf diesem bestimmten Layer liegt, unabhängig von der Reihenfolge, wie die Polylinien gepickt werden. Bin wie immer für jeden Tip dankbar. ------------------ viele Grüße Jörn http://www.bosse-engineering.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
    
 Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 11. Apr. 2012 10:21 <-- editieren / zitieren --> Unities abgeben:          Nur für joern bosse
Hallo Jörn, wenn Du die Anpickpunkte extra abfragst, so wie hier: ;;---------------------------------------------------- ;; ------- Dialog ------- (setq I1 (load_dialog "RADI.DCL")) (if (null (new_dialog "RADI" I1)) (alert "\n \nLaden der Dialogbox nicht moeglich!") ) (set_tile "R_D" (rtos (getvar "FILLETRAD") 2 3)) (setq R_D (atof (get_tile "R_D"))) (action_tile "R_D" "(SETQ R_D (ATOF $VALUE))") (action_tile "ACCEPT" "(done_dialog 1)") (start_dialog) (unload_dialog I1) ;;------- end Dialog --------- (if R_D (setvar "FILLETRAD" R_D) ) (setq ELE_1 t ELE_2 t ) (while (and ELE_1 ELE_2) (setq ELE_1 (entsel "\nErstes Objekt wählen: ")) (if ELE_1 (progn (redraw (car ELE_1) 3) (princ) ;; *** hier kannst Du den Layer von ELE_1 abfragen ... ;; *** und den angewählten Punkt. (setq ELE_2 (entsel "\nZweites Objekt wählen: ")) ;; *** hier den Layer von ELE_2 (if ELE_2 (command "_.fillet" (cadr ELE_1) (cadr ELE_2)) (prompt "\nEs wurde kein zweites Objekt gewählt") ) ;_end if ELE_2 ) (prompt "\nEs wurde kein erstes Objekt gewählt") ) ;_end if ELE_1 ;; *** Hier die abgerundete Kontur auf den Wunschlayer setzen. ;; *** Die Kontur muss nicht extra gewählt werden, ;; *** den Auswahlpunkt hast Du von ELE_1. ) ;;------------------------------------------------ Ich hoffe der Codeschnippsel hilft Dir, wenn Du die ganze Datei haben möchtst, sie ist hier: http://www.lehrer.uni-karlsruhe.de/~za685/cad/cadtools.htm unter Nr. 3 beschrieben. Gruß Theodor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung und AutoLISPler
    
 Beiträge: 1781 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 11. Apr. 2012 10:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo Theo, danke für Deinen Code, aber ich glaube, ich habe mich nicht gut ausgedrückt. Ich wollte die Informationen schon von den AutoCAD-STandard-Befehlen "ABRUNDEN" und "PEDIT" haben, d.h. es geht vielleicht über einen Reactor?!? Anfänglich habe ich an einen vlr-command-reactor gedacht, aber das funktioniert meiner Meinung nach nicht, weil: 1. :vlr-commandWillStart => Hier kann ich nocht nichts machen, weil ich nicht weiß, welche Objekte der Nutzer während des Befehls anpickt. 2. :vlr-commandEnded => Hier habe ich als einzige Information, daß eventuell ein Objekt nicht mehr vorhanden ist, weil es zum zuerst gepickten Objekt zugefügt worden ist. Gibt es noch andere Reactoren, die man eventuell verwenden könnte? (damit kenne ich mich nicht wirklich gut aus).
------------------ viele Grüße Jörn http://www.bosse-engineering.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |