明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 426|回复: 4

[源码] 求助为什么这个代码会中断?

[复制链接]
发表于 2022-7-26 14:44 | 显示全部楼层 |阅读模式
5明经币
代码运行到一半就中断了,有没有高人指点一下




(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 "")
    )
  )
)
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

不认识英文呀,可以网上翻译。意思是:没有定义pointmove2 pointmove这两个函数。
发表于 2022-7-26 14:44 | 显示全部楼层
小溪向东流 发表于 2022-7-26 18:10
不知道哪里出问题,就是用不了。

不认识英文呀,可以网上翻译。意思是:没有定义pointmove2 pointmove这两个函数。
回复

使用道具 举报

发表于 2022-7-26 14:54 | 显示全部楼层
错误: no function definition:  POINTMOVE2  POINTMOVE

评分

参与人数 1明经币 +1 收起 理由
小溪向东流 + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2022-7-26 18:10 | 显示全部楼层
yshf 发表于 2022-7-26 14:54
错误: no function definition:  POINTMOVE2  POINTMOVE

不知道哪里出问题,就是用不了。
回复

使用道具 举报

 楼主| 发表于 2022-7-27 11:27 | 显示全部楼层
自贡黄明儒 发表于 2022-7-26 18:29
不认识英文呀,可以网上翻译。意思是:没有定义pointmove2 pointmove这两个函数。

谢谢,已经可以,定义了这两个函数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-3 10:03 , Processed in 0.209151 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表