陈同学 发表于 2020-11-4 18:10:32

大神们求救,用注释段的代码就可以打断,有未注释的就不行


[*]    (setq pt3 (getpoint"\n 截断点"))
[*](setq pt4 (list(car pt3)(-(cadr pt3)500) 0.0 ))
[*]    (setq pt5 (list(car pt3)(+(cadr pt3) 500) 0.0))
[*];(setq pt4 (getpoint"\n 截断点"))
[*];(setq pt5 (getpoint"\n 截断点"))
[*]          (command "break" s1pt4 pt5)

陈同学 发表于 2020-11-4 18:11:44

(defun c:test()
                (setq pt1 (getpoint"\n 第一点"))
          (setq pt2 (getpoint pt1 "\n 第二点"))
                (command "line" pt1 pt2 "")
          (setq s1 (entlast))
          (setq pt3 (getpoint"\n 截断点"))
        (setq pt4 (list(car pt3)(-(cadr pt3)500) 0.0 ))
                (setq pt5 (list(car pt3)(+(cadr pt3) 500) 0.0))
        ;(setq pt4 (getpoint"\n 截断点"))
        ;(setq pt5 (getpoint"\n 截断点"))
                                        (command "break" s1pt4 pt5)

cq4920 发表于 2020-11-4 19:09:58

本帖最后由 cq4920 于 2020-11-4 19:22 编辑

你想要什么效果呢?两线无缝??——      还是两线分开——   ——   

而且你这个东西现在水平是无缝垂直是分开的,能干嘛用?


(defun C:dr()(command "_break" pause "F" pause "@"));;打断选择打断与一点


;;画直线然后再打断。PS:如果确定了4个点干嘛不直接画两条直线?
(defun c:test()
                                        (command "line" pausepause"")   
                                        (command "break" (entlast) pause pause)
)

整那么复杂 同样的效果这样做还有动态预览不更好?


;;画直线然后再打断   也不知道你要干嘛!
(defun c:test()
(command "line" pausepause"")
                                        (command "break"(entlast)pause "@"   )
)

陈同学 发表于 2020-11-5 08:34:43

cq4920 发表于 2020-11-4 19:09
你想要什么效果呢?两线无缝??——      还是两线分开——   ——   

而且你这个东西现在水平 ...

就是获得直线上一点pt3,自动打断与其相距500的两个点pt4,pt5.但现在我没加注释的可以成功,想让大家看看为啥注释的上面两行不管用:L

陈同学 发表于 2020-11-5 08:36:25

本帖最后由 陈同学 于 2020-11-5 08:37 编辑

cq4920 发表于 2020-11-4 19:09
你想要什么效果呢?两线无缝??——      还是两线分开——   ——   

而且你这个东西现在水平 ...
就是简单的做个垂直打断的测试,目的是让线段分开,未注释的两行分不开线段,不知道啥情况

cq4920 发表于 2020-11-5 08:58:18

陈同学 发表于 2020-11-5 08:36
就是简单的做个垂直打断的测试,目的是让线段分开,未注释的两行分不开线段,不知道啥情况
你就一点都看不懂那个代码吗?他的P3是指定的,P4 P5是有P3得来的,并且是可以断开,只是打断的是一个点!你要手动的去指定P4 P5 是可以的啊。

陈同学 发表于 2020-11-5 09:13:03

本帖最后由 陈同学 于 2020-11-5 09:16 编辑

cq4920 发表于 2020-11-5 08:58
你就一点都看不懂那个代码吗?他的P3是指定的,P4 P5是有P3得来的,并且是可以断开,只是打断的是一个点 ...
就是现在不用手动指定一直不行啊,通过p3获得p4,p5来打断一直失败,也不叫失败吧,有点时灵时不灵的,不知道啥情况

G〆h 发表于 2020-11-5 09:20:39

你用的从上到下的顺序,如果要两者二选一,一般要用判断才行啊。

cq4920 发表于 2020-11-5 09:35:37

本帖最后由 cq4920 于 2020-11-5 09:44 编辑

陈同学 发表于 2020-11-5 09:13
就是现在不用手动指定一直不行啊,通过p3获得p4,p5来打断一直失败,也不叫失败吧,有点时灵时不灵的,不 ...
失败的原因基本可以确定你没有关闭捕捉,你打断点的位置不在线上!

(defun c:test(/ pt1 pt2 pt3 pt4 pt5 )

                (setq pt1 (getpoint"\n 第一点"))
          (setq pt2 (getpoint pt1 "\n 第二点"))
                (command "line" pt1 pt2 "")
          (setq s1 (entlast))
          (setq pt3 (getpoint"\n 截断点"))
      (setq pt4 (list(car pt3)(-(cadr pt3)500) 0.0 ))
                (setq pt5 (list(car pt3)(+(cadr pt3) 500) 0.0))
      ;(setq pt4 (getpoint"\n 截断点"))
      ;(setq pt5 (getpoint"\n 截断点"))
(setvar "OSMODE" 0)
                                        (command "break" s1pt4 pt5)
(setvar "OSMODE" 6079)



这里的P5是没用的,求出p4就可以用p3 p4来执行了

陈同学 发表于 2020-11-5 10:33:29

cq4920 发表于 2020-11-5 09:35
失败的原因基本可以确定你没有关闭捕捉,你打断点的位置不在线上!

(defun c:test(/ pt1 pt2 pt3 pt4...

解决了,谢谢,真是没关捕捉
页: [1]
查看完整版本: 大神们求救,用注释段的代码就可以打断,有未注释的就不行