求助为什么这个代码会中断?
代码运行到一半就中断了,有没有高人指点一下(DEFUN C:TT1 ()
(vl-load-com)
(PRINC "\n[背板绘制]-水平选择2点/或垂直选择2点")
(setq PT1 (GETPOINT "\n点选第一个点"))
(setq PT2 (GETPOINT PT1 "\n点选第二个点"))
(setq OSM (GETVAR "osmode"))
(SETVAR "osmode" 31743)
(setq PT1_X (NTH 0 PT1))
(setq PT1_Y (NTH 1 PT1))
(setq PT2_X (NTH 0 PT2))
(setq PT2_Y (NTH 1 PT2))
(if (= (RTOS PT1_Y 2 2) (RTOS PT2_Y 2 2))
(PROGN (setq BBYL_PT1 (POINTMOVE2 PT1 0 10))
(setq BBYL_PT2 (POINTMOVE2 PT2 0 10))
(command "line")
(command BBYL_PT1)
(command BBYL_PT2)
(command "")
(setq EN (ENTLAST))
)
(PROGN (setq BBYL_PT1 (POINTMOVE2 PT1 10 0))
(setq BBYL_PT2 (POINTMOVE2 PT2 10 0))
(command "line")
(command BBYL_PT1)
(command BBYL_PT2)
(command "")
(setq EN (ENTLAST))
)
)
(ADDBBHZ_SBJT)
(SETVAR "osmode" OSM)
)
(DEFUN ADDBBHZ_SBJT ()
(setq ISLOOP T)
(setq LEFTDRAWFLAG 1)
(setq RIGHTDRAWFLAG 1)
(while (and ISLOOP)
(setq CODE (GRREAD T 8))
(COND ((= (car CODE) 3) (ADDBBHZ_SBJT_DO 0))
((= (car CODE) 5) (ADDBBHZ_SBJT_DO 1))
)
)
)
(DEFUN ADDBBHZ_SBJT_DO (TYPE)
(COND
((= TYPE 0)
(command "ERASE")
(command EN)
(command "")
(CREATEBB PT1 PT2 BBLEFTRIGHTFALG)
(setq ISLOOP nil)
)
((= TYPE 1)
(if (= (RTOS PT1_Y 2 2) (RTOS PT2_Y 2 2))
(PROGN (setq SBPOINT (car (cdr CODE)))
(setq SBPOINT_Y (car (cdr SBPOINT)))
(setq PT1_Y (car (cdr PT1)))
(if (< SBPOINT_Y PT1_Y)
(PROGN (setq RIGHTDRAWFLAG 1)
(if (= LEFTDRAWFLAG 1)
(PROGN (setq BBLEFTRIGHTFALG 1)
(command "ERASE")
(command EN)
(command "")
(setq BBYL_PT1 (POINTMOVE2 PT1 0 -10))
(setq BBYL_PT2 (POINTMOVE2 PT2 0 -10))
(SETVAR "cecolor" "1")
(command "line")
(command BBYL_PT1)
(command BBYL_PT2)
(command "")
(SETVAR "cecolor" INIT_CECOLOR)
(setq EN (ENTLAST))
(setq LEFTDRAWFLAG 0)
)
)
)
)
(if (> SBPOINT_Y PT1_Y)
(PROGN (setq LEFTDRAWFLAG 1)
(if (= RIGHTDRAWFLAG 1)
(PROGN (setq BBLEFTRIGHTFALG 2)
(command "ERASE")
(command EN)
(command "")
(setq BBYL_PT1 (POINTMOVE2 PT1 0 10))
(setq BBYL_PT2 (POINTMOVE2 PT2 0 10))
(SETVAR "cecolor" "1")
(command "line")
(command BBYL_PT1)
(command BBYL_PT2)
(command "")
(setq EN (ENTLAST))
(SETVAR "cecolor" INIT_CECOLOR)
(setq RIGHTDRAWFLAG 0)
)
)
)
)
)
(PROGN (setq SBPOINT (car (cdr CODE)))
(setq SBPOINT_X (car SBPOINT))
(setq PT1_X (car PT1))
(if (< SBPOINT_X PT1_X)
(PROGN (setq RIGHTDRAWFLAG 1)
(if (= LEFTDRAWFLAG 1)
(PROGN (setq BBLEFTRIGHTFALG 1)
(command "ERASE")
(command EN)
(command "")
(setq BBYL_PT1 (POINTMOVE2 PT1 -10 0))
(setq BBYL_PT2 (POINTMOVE2 PT2 -10 0))
(SETVAR "cecolor" "1")
(command "line")
(command BBYL_PT1)
(command BBYL_PT2)
(command "")
(SETVAR "cecolor" INIT_CECOLOR)
(setq EN (ENTLAST))
(setq LEFTDRAWFLAG 0)
)
)
)
)
(if (> SBPOINT_X PT1_X)
(PROGN (setq LEFTDRAWFLAG 1)
(if (= RIGHTDRAWFLAG 1)
(PROGN (setq BBLEFTRIGHTFALG 2)
(command "ERASE")
(command EN)
(command "")
(setq BBYL_PT1 (POINTMOVE2 PT1 10 0))
(setq BBYL_PT2 (POINTMOVE2 PT2 10 0))
(SETVAR "cecolor" "1")
(command "line")
(command BBYL_PT1)
(command BBYL_PT2)
(command "")
(SETVAR "cecolor" INIT_CECOLOR)
(setq EN (ENTLAST))
(setq RIGHTDRAWFLAG 0)
)
)
)
)
)
)
)
)
)
(DEFUN CREATEBB (BB_P1 BB_P2 BB_DIRECTION)
(setq BB_QJ_HD 9)
(setq BB_QJ_SD 5)
(setq BB_QJ_SJSD 18)
(PRINC "两点平行")
(setq BB_P1_X (NTH 0 BB_P1))
(setq BB_P1_Y (NTH 1 BB_P1))
(setq BB_P2_X (NTH 0 BB_P2))
(setq BB_P2_Y (NTH 1 BB_P2))
(if (= (RTOS BB_P1_Y 2 2) (RTOS BB_P2_Y 2 2))
(PROGN
(setq BB_REC_WIDTH (DISTANCE BB_P1 BB_P2))
(if (< BB_P1_X BB_P2_X)
(PROGN
(if (= 1 BB_DIRECTION)
(PROGN (setq BB_REC_P3 (POINTMOVE (POINTMOVE BB_P2 0 BB_QJ_SD)
1
(* BB_QJ_SJSD -1)
)
)
)
(PROGN (setq BB_REC_P3 (POINTMOVE (POINTMOVE BB_P2 0 BB_QJ_SD)
1
(+ BB_QJ_SJSD BB_QJ_HD)
)
)
)
)
)
(PROGN
(if (= 1 BB_DIRECTION)
(PROGN (setq BB_REC_P3 (POINTMOVE (POINTMOVE BB_P1 0 BB_QJ_SD)
1
(* BB_QJ_SJSD -1)
)
)
)
(PROGN (setq BB_REC_P3 (POINTMOVE (POINTMOVE BB_P1 0 BB_QJ_SD)
1
(+ BB_QJ_SJSD BB_QJ_HD)
)
)
)
)
)
)
(setq
BB_REC_P4 (POINTMOVE BB_REC_P3
0
(* -1 (+ (* BB_QJ_SD 2) BB_REC_WIDTH))
)
)
(setq BB_REC_P2 (POINTMOVE BB_REC_P3 1 (* -1 BB_QJ_HD)))
(setq BB_REC_P1 (POINTMOVE BB_REC_P4 1 (* -1 BB_QJ_HD)))
(command "pline")
(command BB_REC_P1)
(command BB_REC_P2)
(command BB_REC_P3)
(command BB_REC_P4)
(command BB_REC_P1)
(command "")
(setq BB_REC_TR_PT2 (POINTMOVE (POINTMOVE BB_REC_P2 0 -1) 1 1))
(setq BB_REC_TR_PT4 (POINTMOVE (POINTMOVE BB_REC_P4 0 1) 1 -1))
(command "TRIM")
(command "")
(command "F")
(command BB_REC_TR_PT2)
(command BB_REC_TR_PT4)
(command "")
(command "")
)
(PROGN
(setq BB_REC_HEIGHT (DISTANCE BB_P1 BB_P2))
(if (> BB_P1_Y BB_P2_Y)
(PROGN
(if (= 1 BB_DIRECTION)
(PROGN (setq BB_REC_P3 (POINTMOVE
(POINTMOVE BB_P1 0 (* -1 BB_QJ_SJSD))
1
BB_QJ_SD
)
)
)
(PROGN (setq BB_REC_P3
(POINTMOVE
(POINTMOVE BB_P1 0 (+ BB_QJ_SJSD BB_QJ_HD))
1
BB_QJ_SD
)
)
)
)
)
(PROGN
(if (= 1 BB_DIRECTION)
(PROGN (setq BB_REC_P3 (POINTMOVE
(POINTMOVE BB_P2 0 (* -1 BB_QJ_SJSD))
1
BB_QJ_SD
)
)
)
(PROGN (setq BB_REC_P3
(POINTMOVE
(POINTMOVE BB_P2 0 (+ BB_QJ_SJSD BB_QJ_HD))
1
BB_QJ_SD
)
)
)
)
)
)
(setq BB_REC_P4 (POINTMOVE BB_REC_P3 0 (* -1 BB_QJ_HD)))
(setq
BB_REC_P2 (POINTMOVE BB_REC_P3
1
(* -1 (+ (* 2 BB_QJ_SD) BB_REC_HEIGHT))
)
)
(setq
BB_REC_P1 (POINTMOVE BB_REC_P4
1
(* -1 (+ (* 2 BB_QJ_SD) BB_REC_HEIGHT))
)
)
(command "pline")
(command BB_REC_P1)
(command BB_REC_P2)
(command BB_REC_P3)
(command BB_REC_P4)
(command BB_REC_P1)
(command "")
(setq BB_REC_TR_PT2 (POINTMOVE (POINTMOVE BB_REC_P2 0 -1) 1 1))
(setq BB_REC_TR_PT4 (POINTMOVE (POINTMOVE BB_REC_P4 0 1) 1 -1))
(command "TRIM")
(command "")
(command "F")
(command BB_REC_TR_PT2)
(command BB_REC_TR_PT4)
(command "")
(command "")
)
)
)
小溪向东流 发表于 2022-7-26 18:10
不知道哪里出问题,就是用不了。
不认识英文呀,可以网上翻译。意思是:没有定义pointmove2 pointmove这两个函数。 错误: no function definition:POINTMOVE2POINTMOVE yshf 发表于 2022-7-26 14:54
错误: no function definition:POINTMOVE2POINTMOVE
不知道哪里出问题,就是用不了。 自贡黄明儒 发表于 2022-7-26 18:29
不认识英文呀,可以网上翻译。意思是:没有定义pointmove2 pointmove这两个函数。
谢谢,已经可以,定义了这两个函数:lol
页:
[1]