Mit Unterstützung durch:
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen >
Beiträge: 4Registriert: 21.04.2009
ich habe schon seit einiger Zeit die Lisp.Anwendung "Kote" in Verwendung.Aus irgendeinem Grund funktioniert diese Sache nicht mehr.
Es wird bein Setzen der Höhenpunkte immer der Wert Null eingetragen. Verwendet wird der Block HKATTS.dwg.
Wer kann mir da wetierhelfen.
DankeMartin SpiessCode:--------------------------------------------------------------------------------
(defun c:HK (/ )(princ "\nH'koten setzen. Starten mit HK ");FEHLERBEHANDLUNGSROUTINE.....................................................(defun-q *error* (msg) (setvar "osmode" aosm) (setvar "blipmode" abli) (setvar "luprec" alup) (setvar "dimzin" azin) (setvar "attdia" attdiaold) (setvar "clayer" oldlayer) (setq p1 nil p2 nil p3 nil p4 nil c1 nil cy nil cym nil txt nil) (setq hkmz nil o_str nil n_str nil o_slen nil n_slen nil si nil st nil dx nil me nil cmmm nil cm1 nil cm2 nil mm1 nil mm2 nil txtme nil txtcm nil txtmm nil cym nil) (setq asatz nil len nil n nil e nil e1 nil) (setq o_str nil n_str nil o_slen nil n_slen nil si nil st nil) (if (= hk nil) (setq hk hkw) (setq hkw hk) ) (princ msg)(princ));SYSTEMVARIABLEN SETZEN.......................................................(while (or (= mxy nil)(= mxy 0.0)) (setq mxy (getreal "\nDen Maßstab dieser Zeichnung eingeben 1:? ")) (princ "\n\n\n"))(setq aosm (getvar "osmode"))(setq abli (getvar "blipmode"))(setq alup (getvar "luprec"))(setq azin (getvar "dimzin"))(setq oldlayer (getvar "clayer"))(setq attdiaold (getvar "attdia"))(setvar "cmdecho" 0)(setvar "osmode" 111)(HK-WAHL)(setvar "osmode" aosm) (setvar "blipmode" abli) (setvar "luprec" alup) (setvar "dimzin" azin)(setvar "attdia" attdiaold)(princ));*****************************************************************************(defun HK-WAHL (/ )(if (or (= NPKT nil)(= NPKT "")) (HK-NPKT) (progn (HK-AKREUZ)(HK-BEZUG)) )(if (= hk nil) (setq hk "S" hkw hk) )(initget "B A S")(setq hk (getkword (strcat "\n(B)ezugspunkt ändern (A)ktualisieren (S)etzen <" hk "> ?: ")) )(if (= hk "B") (progn (setq hk hkw) (HK-NPKT) (initget "B A S") (setq hk (getkword (strcat "\n(B)ezugspunkt ändern (A)ktualisieren (S)etzen <" hk "> ?: ")) ) ))(if (= hk "A") (progn (setq hk hkw) (HK-AKTUEL) (initget "B A S") (setq hk (getkword (strcat "\n(B)ezugspunkt ändern (A)ktualisieren (S)etzen <" hk "> ?: ")) ) )) (if (= hk nil) (setq hk hkw) (setq hkw hk) )(if (= hk "S") (HK-SETZEN) )(setvar "osmode" aosm) (setvar "blipmode" abli) (setvar "luprec" alup) (setvar "dimzin" azin)(princ));*****************************************************************************;BEZUGSPUNKT- BEZUGSWERT- FESTLEGEN...........................................(defun HK-NPKT (/ )(command "_redraw")(princ "\n\n\n")(setq pxy nil)(while (or (= pxy nil)(= pxy "")) (setq pxy (getpoint "\nEinen Bezugspunkt für die H'koten wählen: ")) (princ "\n\n\n"))(HK-AKREUZ)(setq py nil)(while (or (= py nil)(= py "")) (setq py (getreal "\nDer gewählte Bezugspunkt liegt auf welcher Höhe ?: ")) (princ "\n\n\n"))(setq tpy py) ;für Bezugswert-Anzeige(setq NPKT (cadr pxy) NPKT (- NPKT py))(princ "\n\n\n\n")(HK-BEZUG)(princ));*****************************************************************************;BEZUGSPUNKT-WERT ANZEIGEN....................................................(defun HK-BEZUG (/ )(if (or (= py 0.0)(= py 0)) (setq tpy (strcat "+/-" (rtos py))) )(if (or (> py 0.0)(> py 0)) (setq tpy (strcat "+" (rtos py))) )(princ "\nDer aktuelle Bezugspunkt liegt auf: ")(princ tpy)(princ));*****************************************************************************;ACHSKREUZ AM BEZUGSPUNKT ZEICHNEN............................................(defun HK-AKREUZ (/ p1 p2 p3 p4)(setq p1 (list (car pxy) (cadr (getvar "VSMIN")) ) p2 (list (car pxy) (cadr (getvar "VSMAX")) ) p3 (list (car (getvar "VSMIN")) (cadr pxy) ) p4 (list (car (getvar "VSMAX")) (cadr pxy) ))(grvecs (list -124 p1 p2 -124 p3 p4))(princ));*****************************************************************************(defun HK-SETZEN (/ c1 cy cym txt)(princ "\n\nH'kote wird am gewählten Punkt eingefügt. ")(setvar "blipmode" 1)(while (setq c1 (getpoint "\nH'koten-Punkt wählen: ") ) (setq cy (cadr c1) cy (- cy NPKT)) (setq cym cy) (setq txt (rtos cy)) (if (or (= cym 0.0)(= cym 0)) (setq txt (strcat "" txt)) ) (if (or (> cym 0.0)(> cym 0)) (setq txt (strcat "" txt)) ) (command "_layer" "_ma" "0" "_c" "7" "" "" "_cecolor" "256" "_celtype" "bylayer" ) (command "_-insert" "HKATTS" c1 mxy "" "" txt) (princ txt))(princ));*****************************************************************************;HK-AKTUEL.lsp.......................... .....................................;AKTUALISIERT H'KOTEN-BLÖCKE auf den aktuellen Y-Wert des Einfügepunktes ;Anhängende Texte werden entfernt: z.B. wird aus +1000 O.K.S. dann nur +1222 (defun HK-AKTUEL (/ asatz len n c1 e cy txt e1)(command "_undo" "m") ;Zurück Markierung(if (= meld nil) (MELDSTA) )(princ "\n\n\nDas Programm aktualisiert die Werte gewählter H'koten. ")(setq asatz (ssget (list (cons 2 "HKATTS"))) ;Blöcke HKATTS wählen len (sslength asatz) ;Länge Auswahlsatz n 0 ;Anzahl Elemente im Auswahlsatz)(while (< n len) (setq e (entget (ssname asatz n)) ) (setq c1 (cdr (assoc 10 e)) qe c1) ;Basis c1 = WKS xyz Koordinaten (setq c1 (trans c1 0 1)) ;jetzt c1 = BKS xyz Koordinaten (setq cy (cadr c1) cy (- cy NPKT) ) (setq cym cy) (setq txt (rtos cy)) (if (or (= cym 0.0)(= cym 0)) (setq txt (strcat "-" txt)) ) (if (or (> cym 0.0)(> cym 0)) (setq txt (strcat "" txt)) ) (setq e1 (entget (entnext (cdr (assoc -1 e)))) ) (setq e1 (subst (cons 1 txt)(assoc 1 e1) e1) ) (entmod e1) (entupd (cdr (assoc -1 e1))) (setq n (1+ n))) ;ende-while(princ "\n\n\n")(setvar "clayer" oldlayer)) ;ende-defun;*****************************************************************************
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP
Beiträge: 1781Registriert: 11.10.2004
Window 11ACAD 2021CIVIL 2021BricsCAD ab V1411th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz32.0GB RAMNVIDIA GeForce MX450<P>
------------------viele Grüße
Jörnhttp://www.bosse-engineering.com
danke für Deine Antwort. Wir arbeiten noch auf der 2007Version.Ich weiß nicht, ob es mit folgender Sache zusammenhängt:
Von meinem PC wurde einmal eine Lizens auf einen Laptop verliehen, damit man zu Hause Weiterarbeiten kann.
Ist das der Grund??
GrußMartin
Beiträge: 266Registriert: 09.08.2007
AutoCAD 2014
gruss
Beiträge: 3338Registriert: 14.03.2001
Sicher ist, dass nichts sicher ist. Selbst das nicht.Joachim Ringelnatz
ich tippe auf die Systemvariable ATTREQ, die bei dir vermutlich auf 0 steht. Der Code geht davon aus, dass sie auf 1 steht.
Übrigens hat sich >>hier<< der Autor bez. fehlender Header im Code mal gemeldet .
GrußCADchup
------------------CADmaro.de
DANKE DANKEMartin Spiess
Anzeige.:X
Anzeige: (Infos zum Werbeplatz >>)
|
(c)2025 CAD.de | Impressum | Datenschutz