明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2973|回复: 5

怎么用lisp加载线型

[复制链接]
发表于 2007-6-25 19:15 | 显示全部楼层 |阅读模式

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

发表于 2007-6-25 21:28 | 显示全部楼层

(command "-linetype" ........)

后面的自己写吧

 楼主| 发表于 2007-6-25 22:10 | 显示全部楼层

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

发表于 2007-6-26 07:28 | 显示全部楼层

我觉得应该是建立图层并将该图层置为当前图层比较实用。如建立图层名为Center的中心线层(点画线,黄色):

(if (= (tblobjname "LAYER" "Center") nil)
(command "_layer" "n" "Center" "s" "Center" "l" "center" "Center" "c" "yellow" "Center" "")
(setvar "clayer" "Center")
)

发表于 2007-6-26 08:38 | 显示全部楼层
是要类似的功能吗? 使用前先给定wlsamdir-wl
  1. ;填加包含字符串的线形 作者 懒虫 应用于 StrAModel 一个利用AutoCAD输入复杂结构的计算模型的工具
  2. ;name 线形名称
  3. ;str 线形内字符串
  4. ;style 字符串用的文字样式
  5.   (defun add_ltype (name str style / box box1 lis fil linetypes_Sel)
  6. ;(setq name "SayzEz" style "wltools")
  7.     (if (null (tblsearch "ltype" name))
  8.       (progn
  9. ;(alert (vl-princ-to-string name))
  10. (if (tblsearch "style" style)
  11.    (setq lis (list (cons 7 style)))
  12.    (setq lis   (list '(7 . "STANDARD"))
  13.   style "standard"
  14.    )
  15. )
  16. (setq box (textbox
  17.       (append (list (cons 1 str) '(40 . 2) '(41 . 1) '(10 0.0 0.0 0.0))
  18.        lis
  19.       )
  20.     )
  21. )
  22. (setq box1 (textbox
  23.        (append (list (cons 1 "<->") '(40 . 2) '(41 . 1) '(10 0.0 0.0 0.0))
  24.         lis
  25.        )
  26.      )
  27. )
  28. (setq fil (open (strcat wlsamdir-wl "temltype.lin") "w"))
  29. (princ ";;这是临时线型文件,会被程序随时修改,不要在此定义自己的线型\n"
  30.         fil
  31. )
  32. (princ "*" fil)
  33. (princ name fil)
  34. (princ "," fil)
  35. ;(princ name)
  36. (repeat 3 (princ (strcat "--" str "--") fil))
  37. (princ "\n" fil)
  38. (princ "A,3,-.1,[" fil)
  39. (princ (strcat """ str "",") fil)
  40. (princ style fil)
  41. (princ ",S=2,R=0.0,X=" fil)
  42. (princ (rtos (* -1.0 (+ 0.1 (caar box))) 2 3) fil)
  43. (princ ",Y=" fil)
  44. (princ (rtos (* -0.5 (+ (cadadr box1) (cadar box1))) 2 3)
  45.         fil
  46. )
  47. (princ "]," fil)
  48. (princ (rtos (- (caar box) (caadr box) -0.1) 2 3) fil)
  49. (close fil)
  50. (setq linetypes_Sel (vla-get-Linetypes
  51.          (vla-get-ActiveDocument (vlax-get-acad-object))
  52.        )
  53. )
  54. (vlax-invoke-method linetypes_Sel
  55.        'Load
  56.        name
  57.        (strcat wlsamdir-wl "temltype.lin")
  58. )
  59.       )
  60.     )
  61.   )
 楼主| 发表于 2007-6-26 19:38 | 显示全部楼层

我要实现在功能就是wltools所提供的,没想到要达到这么小小一个功能要写这么一大堆程序。

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

本版积分规则

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

GMT+8, 2024-5-18 20:31 , Processed in 0.228526 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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