999999 发表于 2023-5-27 21:03:25

(求助)请教一下各位大神如何用代码实现定数等分

麻烦各位大侠有空的,知道处理的,帮帮忙,,谢谢啦



1.输入命令
2.选择定数等分的线段:
3.输入定数等分的块名或选择块(带记忆功能):
4. 是否对齐块和对象?[是(Y)/否(N)] <Y>:带记忆功能):
5.输入定数等分的数量(带记忆功能):7


有空的大神看能否帮小弟解决一下,谢谢大家啦

foolishzy 发表于 2023-5-27 21:03:26

999999 发表于 2023-5-29 13:32
大神您好,那个用过,不怎么好用,不足的就是不能选择块,输入名字了,下次还是要重新输入数值,还有就是 ...

(defun c:tt()
        (defun pickset_to_enamelist(pickset / ss sslst )
        (setq ss pickset sslst '())
        (while (setq n (ssname ss 0))
                (progn
                        (setq sslst (append sslst (list n)))
                        (ssdel n ss)
                )
        )
        sslst
)
        (if (null num)
                (progn
                        (setq num (getint "输入等分线段数量: "))
                )
                (progn
                        (princ (strcat "上次数量:" (itoa num) ""))
                        (setq s (getstring "使用上次数量请输入Y:"))
                        (if (not (or
                                                               (= (strcase s) "Y")
                                                               (= (strcase s) " ")
                                                       ))
                                (setq num (getint "输入等分线段数量: "))       
                        )
                )
        )
        (if (null blackname)
                (progn
                        (setq blackname (vlax-get-property (vlax-ename->vla-object (car(entsel "\n选择图块:")) )'Name))
                )
                (progn
                        (princ (strcat "上次图块:" blackname ""))
                        (setq s (getstring "使用上次图块请输入Y:"))
                        (if (not (or
                                                               (= (strcase s) "Y")
                                                               (= (strcase s) " ")
                                                       ))
                                (setq blackname (vlax-get-property (car(entsel "\n选择图块:")) 'Name))                       
                        )
                )
        )
        (princ "选择需要等分的线条:")
        (setq ss(pickset_to_enamelist (ssget '((0 . "*line")))))
        (if (and ss blackname num )
                (foreach s ss
                        (progn
                                (vl-cmdf "DIVIDE"s "b" blackname"y" num)                       
                        )
                )
        )       
)

foolishzy 发表于 2023-5-29 08:44:19

试试DIVIDE cad自带功能

999999 发表于 2023-5-29 13:32:04

foolishzy 发表于 2023-5-29 08:44
试试DIVIDE cad自带功能

大神您好,那个用过,不怎么好用,不足的就是不能选择块,输入名字了,下次还是要重新输入数值,还有就是输入的数量不能记忆起来,不太方便呢

999999 发表于 2023-6-1 10:55:42

foolishzy 发表于 2023-6-1 09:36


谢谢大神,这个使用效果很好,谢谢您啦,您辛苦啦

foolishzy 发表于 2023-6-1 10:57:27

999999 发表于 2023-6-1 10:55
谢谢大神,这个使用效果很好,谢谢您啦,您辛苦啦

谢谢 我快失业了 算是来论坛消磨时间:Q-

999999 发表于 2023-6-1 11:44:13

foolishzy 发表于 2023-6-1 10:57
谢谢 我快失业了 算是来论坛消磨时间

这是准备另谋高就了吗
页: [1]
查看完整版本: (求助)请教一下各位大神如何用代码实现定数等分