Red de conocimiento informático - Conocimiento de la instalación - Buscando un código de compensación bidireccional cad lisp

Buscando un código de compensación bidireccional cad lisp

Hay dos problemas con el código

1. Antes de que el programa ejecute este comando, el valor de compensación OFFSET no se extrae, calcula ni restaura

2. seleccionado y el cálculo del programa es incorrecto. El cuadro de selección posterior, es decir, la parte de restauración del valor de tamaño del cuadro de selección no se ha operado, por lo que el tamaño del cuadro de selección no se puede restaurar. Pruebe el siguiente código:

(defun c:gg ( )

(if (setq obj (entsel "\n select objeto de desplazamiento bidireccional: "))

(progn

(setq cm (getvar "cmdecho") of (getvar " offsetdist"))

(if (null (setq nf (getdist (strcat "\n offset : lt;" (rtos de 2 3) "gt;"))))

(setq nf de)

)

(setvar "cmdecho" 0 ) (setvar "offsetdist" nf) (vl-load-com)

(setq obj (vlax-ename-gt; vla-object (car obj)))

( vla -offset obj nf) (vla-offset obj (* nf -1))

(setvar "offsetdist" of) (setvar "cmdecho" cm)

)

(princ "(n no hay ningún objeto de desplazamiento seleccionado, el programa sale.)

)

(princ)

)