animal513 发表于 2007-6-25 19:15:00

怎么用lisp加载线型

<p>怎么用lisp加载线型啊?就是加载线型的程序怎么写?谢谢,麻烦知道的人</p>

phoenixdjq 发表于 2007-6-25 21:28:00

<p>(command "-linetype" ........)</p><p>后面的自己写吧</p>

animal513 发表于 2007-6-25 22:10:00

<p>其实我也知道要用这个命令,但就是后面的不知道要怎么写。</p>

wandong 发表于 2007-6-26 07:28:00

<p>我觉得应该是建立图层并将该图层置为当前图层比较实用。如建立图层名为Center的中心线层(点画线,黄色):</p><p>(if (= (tblobjname "LAYER" "Center") nil)<br/>(command "_layer" "n" "Center" "s" "Center" "l" "center" "Center" "c" "yellow" "Center" "")<br/>(setvar "clayer" "Center")<br/>)</p>

wltools 发表于 2007-6-26 08:38:00

是要类似的功能吗? 使用前先给定wlsamdir-wl
;填加包含字符串的线形 作者 懒虫 应用于 StrAModel 一个利用AutoCAD输入复杂结构的计算模型的工具
;name 线形名称
;str 线形内字符串
;style 字符串用的文字样式
(defun add_ltype (name str style / box box1 lis fil linetypes_Sel)
;(setq name "SayzEz" style "wltools")
    (if (null (tblsearch "ltype" name))
      (progn
;(alert (vl-princ-to-string name))
(if (tblsearch "style" style)
   (setq lis (list (cons 7 style)))
   (setq lis   (list '(7 . "STANDARD"))
style "standard"
   )
)
(setq box (textbox
      (append (list (cons 1 str) '(40 . 2) '(41 . 1) '(10 0.0 0.0 0.0))
       lis
      )
    )
)
(setq box1 (textbox
       (append (list (cons 1 "<->") '(40 . 2) '(41 . 1) '(10 0.0 0.0 0.0))
      lis
       )
   )
)
(setq fil (open (strcat wlsamdir-wl "temltype.lin") "w"))
(princ ";;这是临时线型文件,会被程序随时修改,不要在此定义自己的线型\n"
      fil
)
(princ "*" fil)
(princ name fil)
(princ "," fil)
;(princ name)
(repeat 3 (princ (strcat "--" str "--") fil))
(princ "\n" fil)
(princ "A,3,-.1,[" fil)
(princ (strcat "\"" str "\",") fil)
(princ style fil)
(princ ",S=2,R=0.0,X=" fil)
(princ (rtos (* -1.0 (+ 0.1 (caar box))) 2 3) fil)
(princ ",Y=" fil)
(princ (rtos (* -0.5 (+ (cadadr box1) (cadar box1))) 2 3)
      fil
)
(princ "]," fil)
(princ (rtos (- (caar box) (caadr box) -0.1) 2 3) fil)
(close fil)
(setq linetypes_Sel (vla-get-Linetypes
         (vla-get-ActiveDocument (vlax-get-acad-object))
       )
)
(vlax-invoke-method linetypes_Sel
       'Load
       name
       (strcat wlsamdir-wl "temltype.lin")
)
      )
    )
)

animal513 发表于 2007-6-26 19:38:00

<p>我要实现在功能就是<strong><font face="Verdana" color="#61b713">wltools所提供的,没想到要达到这么小小一个功能要写这么一大堆程序。</font></strong></p>
页: [1]
查看完整版本: 怎么用lisp加载线型