| |
| 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: Abfrage als Text in Zeichnung einfügen (1501 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 18. Aug. 2009 15:39 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe hier eine Routine, mit der ich die Länge einer Linie abfragen kann. Meine Frage ist die, wie schaffe ich das Ergebnis als Text an die Linie zu erzeugen? Das muss irgenwie mit (command "text"...) möglich sein, weiss aber das anzustellen. (defun c:ll ( / gl l el eldat) (setq el (entsel)) (while el (setq eldat (entget(car el))) (if (= (cdr (assoc 0 eldat)) "LINE") (progn (setq l (distance (cdr (assoc 10 eldat)) (cdr (assoc 11 eldat)))) (princ " Länge Teilstück: ") (princ l) (if gl (setq gl (+ gl l)) (setq gl l) ) ) (princ " KEINE LINIE gewählt!") ) (setq el (entsel)) ) (princ " Gesamtlänge: ") (princ gl) (princ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 18. Aug. 2009 15:51 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
so? Code:
(defun c:ll ( / gl l el eldat) (setq el (entsel)) (while el (setq eldat (entget(car el))) (if (= (cdr (assoc 0 eldat)) "LINE") (progn (setq l (distance (cdr (assoc 10 eldat)) (cdr (assoc 11 eldat)))) (princ " Länge Teilstück: ") (princ l) (if gl (setq gl (+ gl l)) (setq gl l) ) ) (princ " KEINE LINIE gewählt!") ) (setq el (entsel)) ) (princ " Gesamtlänge: ") (princ gl) (if(setq start (getpoint "\nEinfügepunkt:")) (entmake (LIST '(0 . "TEXT") (cons 8 (getvar "clayer")) (CONS 10 start) (cons 40 (getvar "textsize")) '(50 . 0.0) (CONS 1 (rtos gl 2 3)) ) ;_ end of LIST ) ) (princ) )
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 18. Aug. 2009 16:26 <-- editieren / zitieren --> Unities abgeben:
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 18. Mrz. 2010 06:50 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Profis! Hab diese Lisp gefunden.Super Sache muß ich sagen! Meine Frage: Kann man das so umändern, damit man auch Teilbereiche einer Polylinie (die Länge zwischen den Kontrollpunkten im ausgewählten Bereich) ausgeben kann? Liebe Grüße Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Mrz. 2010 07:14 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 18. Mrz. 2010 08:40 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Cadmium! Danke für deine Hilfe! Schönes Beispiel. Wie findet Ihr solche Sachen so schnell? Ich suche seit Tagen und finde solche Sachen nicht. Ich stelle mir vor, daß man solch ein Lisp gut dafür verwenden könnte um bei einem Rechteck nach der Eingabe "Abmessungen" diese Distanz als Breite einsetzen könnte. Somit bräuchte man nicht immer mit der Hand die Breite eingeben, nur noch die Länge, oder auch umgekehrt. Ist so etwas machbar? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Mrz. 2010 08:44 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 18. Mrz. 2010 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 18. Mrz. 2010 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
(defun c:PLSEGINFO ( / PL-OBJ PKT PARAM PRE SUF ) (if(and(setq PL-OBJ(entsel "\nPolyliniensegment wählen : ")) (setq PKT(cadr PL-OBJ)) (setq PL-OBJ (car PL-OBJ)) (setq PL-OBJ(cond ;_ VLA-OBJEKT erzeugen ((=(type PL-OBJ) 'VLA-OBJECT) PL-OBJ) ((=(type PL-OBJ) 'Ename) (vlax-ename->vla-object PL-OBJ)) ) ) (setq PKT (vlax-curve-getClosestPointTo PL-OBJ PKT)) (setq PARAM(vlax-curve-getparamAtPoint PL-OBJ PKT)) (setq PRE(vlax-curve-getpointatparam PL-OBJ (fix PARAM))) (setq SUF(vlax-curve-getpointatparam PL-OBJ (1+(fix PARAM)))) ) (command "Rechteck" pause "Abmessungen" ???????und dann????? PRE oder SUF funktioniert leider nicht?? Bitte Cadmium kannst du mir weiterhelfen? LG Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Mrz. 2010 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 18. Mrz. 2010 10:36 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Danke! Cadmium Danke! PS: Also ich hätte gerne ein Sandkörnchen von deinen Haufen an Wissen! Ich wäre damit um einen großen Stein an Wissen reicher! Na ja, werd ich halt weiter Bretter hobeln!Ha Ha Danke für deine Hilfe! LG Martin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Mrz. 2010 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 18. Mrz. 2010 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 18. Mrz. 2010 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 18. Mrz. 2010 16:19 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 19. Mrz. 2010 06:47 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Cadmium Kannst du mir noch mal helfen? Heute geht dein Beispiel nicht mehr ---- Befehl: PLSEGINFO Polyliniensegment wählen : ; Fehler: no function definition: VLAX-ENAME->VLA-OBJECT ---- Warum? LG Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 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: 19. Mrz. 2010 07:27 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 19. Mrz. 2010 07:47 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|