guosheyang 发表于 2022-7-30 12:53:00

自定义命令:根据输入数值自动生成多线样式

这里给朋友们分享一个根据输入数值自动生成多线样式的自定义命令命令为mst。只要输入多线样式的线条条数(整奇数),自动生成名称和赋予颜色。若有问题请跟帖提出,谢谢!


;-----------------------------------------------------------            
;自定义命令名称:mls 作者ygs-羊羊羊 2022年7月30日                        
;自定义命令功能:用entmake方法生成多线样式                              
;需输入参数:LN线条数(整型奇数)即线条总数,均包括中间线,为从3开始的奇数
;注意:本代码生成的多线样式名称即为线条数的字符串,如为5条线,则名称为"5"
;代码运行结果:无返回值,但会生成名称为线条数字对应符串的多线样式      
;注:本代码参照了ronjonp网友的代码,对之进行了深化                     
                                                
(defun c:mst ( / LN MLS_N N OFS YSS ZJM )
(setq LN(getint"\n请输入多线样式中的线条总数LN(包括中间线)"))
(while(=(rem LN 2) 0)
      (setq LN(getint"\n LN应为奇数,请重新输入多线样式的线条总数(包括中间线)"))
         ;(princ"LN应为奇数,请重输")
)
(setq ofs (/ 0.5 (* 0.5(1- LN)) ))
(setq mls_n (itoa LN));多线样式名称
(setq zjm
    (list
    (cons 49 (* 0 ofs));元素偏移
    '(62 . 1);红色
    '(6 . "CENTER2");中间线线型
   )
)

丶俗人 发表于 2022-7-30 17:30:00

为啥不能是偶数呢?

guosheyang 发表于 2022-7-30 17:49:00


做的是中线 开始 向两边对称的线   都有中线    要做不对称的也是可以的   可以自己修改
页: [1]
查看完整版本: 自定义命令:根据输入数值自动生成多线样式