加载本程序后
(defun c:fmx() (setq msh 1 ha1* (* msh 1.2) hf1* (* msh 0.3) rck* (* msh 1.5) la* (* msh 0.529) hk* (* msh 0.75) sak* (* msh 1.54) wak* (* msh 1.6016) rga* (* msh 0.6248)) (setq dta1 0.1534629) (command "erase" (ssget "x") "") (setvar "osmode" 0) (setq a* (- (sqrt(-(* rck* rck*)(* ha1* ha1*))) la*)) (setq b* (- (* (+ rck* rga*) (cos dta1)) la*)) (setq c* (* (+ rga* rck*)(sin dta1))) (setq Ox 0 Oy 0 O(list Ox Oy)) (setq O1x 0 O1y 0 O1 (list O1x O1y)) (setq O2x (+ b* la*) O2y (- 0 c*) O2 (list O2x O2y)) (setq P1x la* P1y (- 0 ha1*) P1 (list P1x P1y)) (setq P2x (+ la* a*) P2y (- 0 ha1*) P2 (list P2x P2y )) (setq P3x (* rck* (cos dta1)) P3y (- 0 (* rck* (sin dta1)))   3 (list P3x P3y)) (setq P4x (+ b* la*) P4y hf1* P4 (list P4x P4y)) (setq PP1x la* PP1y -9 PP1 (list PP1x PP2y))------- ( 问题数字-9) (setq PP2x la* PP2y 0 PP2 (list PP2x PP2y))--------(问题数字0) (command "line" PP1 PP2 "") (setq ss (ssadd)) (command "line" P1 P2 "") (ssadd (entlast) ss) (command "mirror" (entlast) "" PP1 PP2 "") (ssadd (entlast) ss) (command "arc" P2 "c" O1 P3 "" )(ssadd (entlast) ss) (command "mirror" (entlast) "" PP1 PP2 "") (ssadd (entlast) ss) (command "arc" P4 "c" O2 P3 "")(ssadd (entlast) ss) (command "mirror" (entlast) "" PP1 PP2 "") (ssadd (entlast) ss) (command "copy" ss "" "0,0" "3.1416,0" "") (command "copy" ss "" "0,0" "-3.1416,0" "") (command "zoom" "e" "")
)
每次都要将我在程序上标出的那2个问题数字改一下才能显示图形 不改的话就一直提示:
选择对象: 指定镜像线的第一点: 指定镜像线的第二点: 点必须互不相同。 ; 错误: 函数被取消
这2个点不是不一样吗 为什么出现这样的情况呢 谁帮小弟我解决一下吧 谢谢啦
|