| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Z-Koordinate von Text übernehmen (3014 mal gelesen)
|
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 19. Jul. 2006 22:38 <-- editieren / zitieren --> Unities abgeben:
Hallo,ich suche,ein Programm mit dem man einen dummen Text als Z-Koordinatenwert übergeben kann und somit 3D Koordinaten vom Fußpunkt des Textes hat, wer kann helfen- habe hier aus der HB-LSp etwas rausgezogen was eventuell gehen müßte, bekomme es aber nicht zum laufen wer kann sich das mal ansehen, vermute das beide Programme irgenwie zusammen gehören und aufgerufen werden müssen! am besten der verfasser würde sich melden, die lsp Hb ist große klasse und rechnet mit dummen texten, die lsp mit der man textfußpunkte auslesen kann ist nicht das richtige da Z=0 ausgelesen wird, ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ; Funktion fragt vom Benutzer ein Textelement als Representant für eine ; Koordinate und Höhe ab. Bei Abbruch durch den Benutzer brincht die ; Funktion über HB_Abort die Bearbeitung ab ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= (defun C:HB_F_Getpoint (msg / p_tmp z_tmp enx_tmp ent_tmp) (if (not (setq enx_tmp (nentsel msg))) (HB_F_Abort "\nNichts ausgewählt") (progn (setq ent_tmp (entget (car enx_tmp))) (if (member (cdr (assoc 0 ent_tmp)) '("TEXT" "ATTRIB" "MTEXT" "DTEXT" "RTEXT") ) ;_ Ende von member (setq p_tmp (cdr (assoc 10 ent_tmp)) z_tmp (distof (cdr (assoc 1 ent_tmp)) 2) ) ;_ Ende von setq (HB_F_Abort "\nGewähltes Element enthält keinen Text" ) ;_ Ende von HB_F_Abort ) ;_ Ende von if ) ;_ Ende von progn ) ;_ Ende von if (setq HB_Container (append HB_Container (list (car enx_tmp)))) (redraw (car enx_tmp) 3) (princ (rtos z_tmp 2 hb_genau)) (HB_F_Koord p_tmp z_tmp) ) ;defun HB_F_Getpoint ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ; Funktion liefert eine 3D-Koordinate mit den X/Y-Werten aus P und dem ; Z-Wert aus Z zurück. Der Z-Wert wird entsprechend den Einstellungen von ; HB_Schwellwert/HB_ZWert geprüft und ggf. verändert ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= (defun c:HB_F_Koord (p z / tmp) (append (reverse (cdr (reverse p))) (if (>= z HB_Schwellwert) (list (+ z hb_zwert)) (list z) ) ;_ Ende von if ) ;_ Ende von append ) ;defun HB_F_Koord wäre für hinweise oder hilfe dankbar
------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 19. Jul. 2006 22:43 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004
|
erstellt am: 20. Jul. 2006 07:57 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo Bauvermesser, das sieht mir mal schwer nach Doppel-Posting aus :-( Zitat: wer kann sich das mal ansehen, vermute das beide Programme irgenwie zusammen gehören und aufgerufen werden müssen!
Richtig! Die erste Funktion "C:HB_F_Getpoint" ruft in ihrer vorletzten Zeile die zweite Funktion "c:HB_F_Koord" auf - mit den von Funktion 2 notwendigen Parametern. Zitat: die lsp mit der man textfußpunkte auslesen kann ist nicht das richtige da Z=0 ausgelesen wird,
Da wird sich der Autor aber freuen. Die Funktion ist sicherlich richtig, nur nicht für Deinen Zweck. Hast Du schon mal überlegt, warum Z=0 ausgelesen wird? Habe das nicht geprüft, aber vielleicht ist Z ja gleich Null? Hast Du Dich mit "HB_F_Abort" befasst? Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 20. Jul. 2006 21:21 <-- editieren / zitieren --> Unities abgeben:
hallo, habe diese lsp probiert danke für den hinweis aber wir reden hier am problem vorbei oder ich kann es nicht richtig verständlich machen- also: ein einfacher dummer text (bsp.: 325.250) steht als höhenbeschriftung im file(kein block eben nur ein dummer text), der text hat einen fußpunkt auf den man eine punkt setzten könnte, nun soll der text (325.250) auf die z-koordinate des punktes umgesetzt werden; über eigenschaften kann man das mal für 2,3punkte machen indem man den text kopiert und als Z-wert einfügt, aber bei größeren mengen ist das mühsam, ich hoffe ich habe mich jetzt besser ausgedrückt, das auslesen der textfußkoordinaten mit dem logischen z-wert 0 nützt also nichts, es müßte über das kopieren des textes und einfügen abgearbeitet werden. zum anderen beitrag (das sieht mir mal schwer nach Doppel-Posting aus :-() richtig, aber wie man es macht ist es verkehrt, habe schon mehrere antworten in anderen beiträgen bekommen mit dem wortlaut 'du bist hier im falschen forum '; nachdem die probleme jetzt meiner meinung nach was für experten sind, habe ich es eben hier reingestellt, auch wieder falsch oder? zum dritten: (Da wird sich der Autor aber freuen. Die Funktion ist sicherlich richtig, nur nicht für Deinen Zweck. Hast Du schon mal überlegt, warum Z=0 ausgelesen wird? Habe das nicht geprüft, aber vielleicht ist Z ja gleich Null?) richtig, darum ist es ja für meine zwecke nicht geignet, für andere sicherlich eine feine sache! zum vierten: (Hast Du Dich mit "HB_F_Abort" befasst?) ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ; Abbruchfunktion für ein geordnetes Beenden des Programmes. Über A_MSG ; kann durch die Routine, aus der der Abbruch veranlaßt wird, eine Text- ; meldung übergeben werden ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= (defun HB_F_Abort (a_msg) (if a_msg (princ a_msg) ) ;_ Ende von if (print) (quit) ) ;_ Ende von defun komme mit solchen speziellen lsp als leihe nicht klar, man muss doch sicherlich hier drei lsp verbinden (A_msg)in einem aufruf, davon gabe ich keine ahnung und bitte um hilfe allen die es sich leisten können einen schönen urlaub und den anderen schöne zeit auf dem balkon ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 21. Jul. 2006 07:39 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo Bauvermesser, in dem LISP vom Tunnelbauer habe ich zwei Zeilen geändert, so daß keine Punkte eingefügt werden, sondern der z-Wert der Texte an den Textwert angepasst wird.
Code:
(defun C:text2z () (if(setq as(ssget "_X" '((0 . "TEXT")))) (progn (repeat (sslength as) (setq wert (atof(cdr (assoc 1 (entget(ssname as 0)))))) (entmod (subst (cons 10 (append(reverse(cdr (reverse(cdr(assoc 10 (entget(ssname as 0)))))))(list wert))) (assoc 10 (entget (ssname as 0)))(entget (ssname as 0)))) (setq as (ssdel(ssname as 0)as)) ) ) ) )
------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004
|
erstellt am: 21. Jul. 2006 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo Bauvermesser, was bitte ist "Urlaub"? :-) Zu einer Deiner obigen Fragen: Zitat: (defun HB_F_Abort (a_msg) (if a_msg (princ a_msg) ) ;_ Ende von if (print) (quit) ) ;_ Ende von defunkomme mit solchen speziellen lsp als leihe nicht klar, man muss doch sicherlich hier drei lsp verbinden (A_msg)in einem aufruf, davon gabe ich keine ahnung und bitte um hilfe
"a_msg" ist eine Variable, die Du dem Funktionsaufruf mitgeben mußt, sonst kommt eine Fehlermeldung - "zu wenig Argumente" oder so ähnlich. Also das lisp laden, Aufruf aus der Acad-Befehlszeile so: Code: (HB_F_Abort "Dies ist eine Nachricht")
Probier´s mal aus. Also weniger kompliziert, also Du denkst! Keine drei lsp, nur eine. Bei der Sache mit dem Wochenende stimme ich Dir zu. FrederikEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 25. Jul. 2006 23:54 <-- editieren / zitieren --> Unities abgeben:
hallo, Jörn große klasse deine lsp, genau das was ich suche; warum im forum schweifen , sie das gute liegt so nah! danke, könnte man da noch eine auswahlabfrage einbauen damit nicht alle texte auf dem layer erfasst werden, danke an alle die mir geholfen haben übrigens 'im urlaub' ist ein zustand bei dem man körperlich alles hintersich läst, aber in gedanken schon wieder am schreibtisch sitzt ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 26. Jul. 2006 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo bauvermesser (defun C:text2z () (if(setq as(ssget '((0 . "TEXT")))) (progn (repeat (sslength as) (setq wert (atof(cdr (assoc 1 (entget(ssname as 0)))))) (entmod (subst (cons 10 (append(reverse(cdr (reverse(cdr(assoc 10 (entget(ssname as 0)))))))(list wert))) (assoc 10 (entget (ssname as 0)))(entget (ssname as 0)))) (setq as (ssdel(ssname as 0)as)) ) ) ) ) So OK?
------------------ Martin Viele Grüße aus dem schönen Münsterland! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 06. Aug. 2006 21:12 <-- editieren / zitieren --> Unities abgeben:
noch eine anfrage zu dieser lsp, kann man mit einem anhang an diese lsp einen befehl ergänzen mit dem man den z-wert des texteinfügepunktes (welcher jetzt praktisch in 3d vorliegt) auf einen punkt übergibt; sicherlich stelle ich mir das einfacher vor wie es ist, da ja der Z-wert des textpunktes kopiert und auf einen noch zu wählenden punkt kopiert werden muss, oder kann man generell den Z-Wert eines punktes aufnehmen und diesen an eine frei wählbaren punkt übergeben -wer vorschläge hat bitte melden ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004
|
erstellt am: 07. Aug. 2006 07:58 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo Bauvermesser, zu Deiner (ersten?) Frage: Zitat: kann man [wer ist "man"?] mit einem anhang an diese lsp einen befehl ergänzen mit dem man den z-wert des texteinfügepunktes (welcher jetzt praktisch in 3d vorliegt) auf einen punkt übergibt
Ich denke schon... Zur zweiten: Zitat: kann man generell den Z-Wert eines punktes aufnehmen und diesen an eine frei wählbaren punkt übergeben
Ja - entspricht Frage 1, nur anders formuliert. Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 07. Aug. 2006 21:56 <-- editieren / zitieren --> Unities abgeben:
HALLO PAULCHEN, danke für deine ausführliche Hilfe, wenn jemand noch mehr beitragen möchte, ich bitte darum, vielleicht kennt wer eine vorhandene lsp die sich dafür eignet Gruß Bauvermesser ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 07. Aug. 2006 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Rückfrage: Du willst alle Texte "scannen", von denen , welche als numerischer Wert interpretierbar sind, den Einfügepunkt hinsichtlich X und y - Koordinate auswerten, den Textwert als Z-Koordinate interpretieren und an Stelle dieses Textes einen Punkt (_point) mit eben diesen Koordinaten setzen ? ------------------ - 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 |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 08. Aug. 2006 23:42 <-- editieren / zitieren --> Unities abgeben:
Hallo, in autocad sprache muss das wohl so formuliert werden, ich habe eben keine ahnung,nur "und an Stelle dieses Textes einen Punkt" fasse ich so auf das der text dann verschwindet?; nein "und an die Stelle die Textfußpunktes ein Punkt eingefügt wird" wäre besser, vielleicht hast du das auch so gemeint -so nun wäre das auch in fachsprache ausgedrückt, wieder was gelernt danke und gruß bauvermesser ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 09. Aug. 2006 21:20 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
was auf die ganz schnelle: (defun C:text2z (/ AS OBJ DATA) (if(setq as(ssget '((0 . "TEXT")))) (progn (repeat (sslength as) (setq OBJ (ssname as 0)) (setq DATA (entget OBJ)) (if(and(setq Z(distof (cdr (assoc 1 DATA))2)) (setq X(car (cdr(assoc 10 DATA)))) (setq Y(cadr(cdr(assoc 10 DATA)))) ) (command "_point" (list X Y Z)) ) (setq as (ssdel OBJ as)) ) ) ) ) HTH ------------------ - 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 |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 11. Aug. 2006 09:05 <-- editieren / zitieren --> Unities abgeben:
Hallo,Thomas habe lsp ausprobiert aber um es fachmannisch auszudrücken der Textwert wird nicht als Z-Koordinate interpretiert,der punkt mit den richtigen koordinaten wird gesetz: was passiert wenn ich beide lsp zusammensetze wie hier, kann sich da was verhaken oder geht das so nicht? (defun C:z-txt () (if(setq as(ssget '((0 . "TEXT")))) ; mit auswahl des textes (progn (repeat (sslength as) (setq wert (atof(cdr (assoc 1 (entget(ssname as 0)))))) (entmod (subst (cons 10 (append(reverse(cdr (reverse(cdr(assoc 10 entget(ssname as 0)))))))(list wert))) (assoc 10 (entget (ssname as 0)))(entget (ssname as 0)))) (setq as (ssdel(ssname as 0)as)) (defun text2z (/ AS OBJ DATA) (if(setq as(ssget '((0 . "TEXT")))) (progn (repeat (sslength as) (setq OBJ (ssname as 0)) (setq DATA (entget OBJ)) (if(and(setq Z(distof (cdr (assoc 1 DATA))2)) (setq X(car (cdr(assoc 10 DATA)))) (setq Y(cadr(cdr(assoc 10 DATA)))) ) (command "_point" (list X Y Z)) ) (setq as (ssdel OBJ as)) ) ) ) ) ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 11. Aug. 2006 09:16 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
was heißt, Text wird nicht als Z-Koordinate interpretiert ?? guck dir mal (distof "Blabla" 2) -> nil (distof "7.85" 2) -> 7.85 (distof "1e2" 2) -> 100 und (atof "Blabla") -> 0.0 (atof "7.85") -> 7.85 (atof "1e2") -> 100 an. Wenn ich das Prog auf einen Text mit x=12 Y=30 und Inhalt "45" anwende, wird bei mir ein Punkt (12,30,45) generiert.
------------------ - 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 |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 15. Aug. 2006 21:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, bin mir nicht ganz sicher ob wir von gleichen Gedanken zum Problem ausgehen, darum anbei mein dxf um es dir besser darzustellen, wenn du es dir bitte mal anschauen könntes! Ich hoffe ich habe da nichts falsches formuliert zum problem, aber es geht bei mir nicht bis dann Bauvermesser ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 15. Aug. 2006 21:49 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Sorry, ich weiß nicht , was du meinst... ich rufe das Prog auf, selektiere die auszuwertenden Texte und es wird am Einfügepunkt jeden Textes ein Punkt mit dem als Z-Wert interpretierten Text gesetzt ( BKS auf WELT, sonst muß noch (trans ..) aufgerufen werden...) Das klappt auch in deiner DXF! .. ------------------ - 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 |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 19. Aug. 2006 18:04 <-- editieren / zitieren --> Unities abgeben:
hallo Thomas, ich muss passen, bringe die lsp nicht vollständig zum laufen; frage: kann es sein das die lsp einen befehl vorraus setzt der erst vorgegeben werden muss, mir ging es zuletzt mit dem befehl "präfix" so; habe auch keine E-Tools geladen! wäre schön wenn ich es doch noch anwenden könnte, wer hat eine idee gruß bauvermesser ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 20. Aug. 2006 19:21 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
entweder guck dir das lsp im integrierten Debugger des VLIDE an ode probiers mal Zeilenweise durch, um zu sehen, wo es hakt... z.B.so (setq as(ssget '((0 . "TEXT")))) (setq OBJ (ssname as 0)) (setq DATA (entget OBJ)) (setq Z(distof (cdr (assoc 1 DATA))2)) (setq X(car (cdr(assoc 10 DATA)))) (setq Y(cadr(cdr(assoc 10 DATA)))) (command "_point" (list X Y Z)) Expresstools ofer andere Sachen brauchst du jeden falls nich intalliert zu haben ------------------ - 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 |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 31. Aug. 2006 10:05 <-- editieren / zitieren --> Unities abgeben:
hallo thomas, habe versucht den fehler einzukreisen mit auswahl einzelner befehle folgender fehler wird angezeigt: Befehl: (setq DATA (entget OBJ)) ; Fehler: Fehlerhafter Argumenttyp: lentityp nil ------------------ Gruß vom Bauvermesser; übrigens- ein Vermesser kennt seine Grenzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 31. Aug. 2006 10:14 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
na dann hast du in OBJ kein Objekt gespeichert mit ssname weil dein Auswahlsatz vielleicht keine Texte enthielt ?? ------------------ - 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 |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 05. Sep. 2006 22:17 <-- editieren / zitieren --> Unities abgeben:
fehler gefunden! die lsp reagiert allergisch auf OSMODE Einstellung, wenn ich OSMODE auf 0 setze läuft die lsp, sobald ich aber vor programmstart ( was eigentlich richtig wäre) OSMODE 64 setze geht es nicht auch wenn ich es vor punktwahl auf nur 'PUNKT' setze, habe den befehle (setvar "OSMODE" 0) eingefügt, ich müsste jetzt nur noch wissen um unnötige stellerei zu vermeiden wo ich (setvar "osmode" fang_old) am schluss einfügen muss,einfach vor der ersten klammer? gruß vom bauvermesser ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 06. Sep. 2006 07:28 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo Bauvermesser, ohne Errorhandler könnte es so ungefähr aussehen: Code:
(defun C:Testfunktion ( / fang_old) (setq fang_old (getvar "OSMODE")) (setvar "OSMODE" 64) ....Programmablauf Beginn ....Programmablauf Ende (setvar "OSMODE" fang_old) );;;end defun
------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 17. Sep. 2006 07:56 <-- editieren / zitieren --> Unities abgeben:
|