乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 19|回复: 19

[编程交流] 污垢/土壤图案填充LISP

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:38:28 | 显示全部楼层 |阅读模式
G'day,
 
我们最近被一家新公司接管,我们现在使用AutoCAD 2009,然后使用AutoCAD 2006,定制cad由一位软件大师设计,他不知道与我们在一起。
 
我们过去有一个很好的污垢/土壤LISP,它会沿着一条最近的粘性线,并在污垢中绘制一个图案填充(使用Earth hatch)在任何你想要的长度,也可以缩放(附图片)。
现在,我们有了StrucPLUS AutoCAD软件包,它有一个非常普通的污垢/土壤块,它可以缩放,但只有块大小,你不能拉伸它或任何东西,除非你爆炸它(啊!线!)。
 
只是想知道是否有人像我解释的那样Lisp程序?
干杯
113828u4td1tbddtd0k5yy.jpg
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 10:43:33 | 显示全部楼层
 
我不太确定,但欢迎你参加。它可能在那里。请参阅附件。
aec20patterns。拉链
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:47:29 | 显示全部楼层
嗯,不是真的,它们只是图案填充。
我是在寻找一个lisp,它将调用地球剖面线图案(标准的一个)在一定的比例,在45度。这样我就可以在一条线上选取2个点,并将该图案填充下来。
113830wgk7axmojo7aoo16.jpg
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 10:51:12 | 显示全部楼层
很抱歉。也许会有什么事情发生。
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 10:51:23 | 显示全部楼层
尝试制作一个地球图案填充块(以您希望看到绘制的大小/角度);然后将其拖动到工具选项板。在新“工具”的属性中,可以将其插入“辅助比例”(Dimscale、Plot scale),也可以将其插入“旋转提示”(2个点)。
113833j3bfmki238fq421w.jpg
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:55:54 | 显示全部楼层
但这只会给你一个特定大小的区块?
比如,一旦你把它做成那个尺寸(就像沿着线的长度一样),每次你插入它时,它的大小都是一样的?
 
我喜欢把它们都做得不一样,让画作看起来不那么完美
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 10:58:44 | 显示全部楼层
 
我刚刚拼凑的东西。可能需要一些调整。
 
世界lsp
键入Earth以启动。
 
  1. ;/////////////////////////////////////////////////////////////////////////////////////////
  2. ;
  3. (defun C:EARTH (/ CL01 CL02 RAD# DEG# PT01 PT02 PT03 PT04 DLEN E01 SCL WID ANG)
  4. (setq PRP "EARTH")
  5. (setq WID 12)
  6. (setq SCL 12)
  7. (setq ANG 0)
  8. (setq CL01 (getpoint "\nSpecify first point: ")
  9.        CL02 (getpoint CL01 "\nSpecify second point: ")
  10.        RAD# (angle CL01 CL02)
  11.        DEG# (RTD RAD#)
  12.        DLEN (distance CL01 CL02)
  13.        CL01 (trans CL01 1 0)
  14.        CL02 (trans CL02 1 0)
  15.        PT01 CL01
  16.        PT02 (polar PT01 (DTR (+ DEG#   0)) DLEN)
  17.        PT03 (polar PT01 (DTR (+ DEG# 270)) WID)
  18.        PT04 (polar PT02 (DTR (+ DEG# 270)) WID))
  19. (command "._pline" PT01 PT02 PT04 PT03 "C")
  20. (setq E01 (entlast))
  21. (command "._-bhatch" "_a" "_a" "_y" "" "_p" PRP SCL ANG "_s" "_l" "" "")
  22. (command "._erase" E01 "")
  23. (princ))
  24. (princ)
  25. ;
  26. ;/////////////////////////////////////////////////////////////////////////////////////////
  27. ;
  28. (defun DTR (DEG#)(* pi (/ DEG# 180.0)))
  29. ;
  30. ;/////////////////////////////////////////////////////////////////////////////////////////
  31. ;
  32. (defun RTD (RAD#)(* 180.0 (/ RAD# pi)))
  33. ;
  34. ;/////////////////////////////////////////////////////////////////////////////////////////
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:02:47 | 显示全部楼层
这一个有更多的提示,使其更灵活。还添加了错误陷阱和层函数。
我在代码中注释了可能需要更改值的区域。请参阅以红色突出显示的值。
如果您需要帮助,请提及。
 
地球。lsp
键入EARTH以启动。
 
  1. ;/////////////////////////////////////////////////////////////////////////////////////////
  2. ;
  3. ; Main Function.
  4. ;
  5. (defun C:EARTH (/ CL01 CL02 RAD# DEG# PT01 PT02 PT03 PT04 DLEN E01 CPS SUS)
  6. (setq SUS_LST (list "cmdecho" "orthomode" "blipmode" "angbase" "angdir" "aunits" "clayer"))
  7. (setq SUS (mapcar 'getvar SUS_LST))
  8. (setq TERR *error*)
  9. (setq *error* EARTH_ET)
  10. (or H:PRP (setq H:PRP "[color=red]EARTH[/color]"))      ;[color=red]Default Hatch Pattern[/color]
  11. (or H:WID (setq H:WID [color=red]6[/color]))            ;[color=red]Default Hatch Width[/color]
  12. (or H:SCL (setq H:SCL [color=red]6[/color]))            ;[color=red]Default Hatch Scale[/color]
  13. (or H:ANG (setq H:ANG [color=red]45[/color]))           ;[color=red]Default Hatch Angle[/color]
  14. (setq H:WID
  15.    (cond
  16.      ((getint (strcat "\nSpecify hatch width. <"(rtos H:WID 2 0)">: ")))(T H:WID)))
  17. (setq H:SCL
  18.    (cond
  19.      ((getint (strcat "\nSpecify hatch scale. <"(rtos H:SCL 2 0)">: ")))(T H:SCL)))
  20. (setq H:ANG
  21.    (cond
  22.      ((getint (strcat "\nSpecify hatch angle. <"(rtos H:ANG 2 0)">: ")))(T H:ANG)))
  23. (setq CL01 (getpoint "\nSpecify first point: ")
  24.        CL02 (getpoint CL01 "\nSpecify second point: ")
  25.        RAD# (angle CL01 CL02)
  26.        DEG# (EARTH_RTD RAD#)
  27.        DLEN (distance CL01 CL02)
  28.        CL01 (trans CL01 1 0)
  29.        CL02 (trans CL02 1 0)
  30.        PT01 CL01
  31.        PT02 (polar PT01 (EARTH_DTR (+ DEG#   0)) DLEN)
  32.        PT03 (polar PT01 (EARTH_DTR (+ DEG# 270)) H:WID)
  33.        PT04 (polar PT02 (EARTH_DTR (+ DEG# 270)) H:WID))
  34. (EARTH_CPS)
  35. (EARTH_ML "[color=red]HATCH[/color]" [color=red]1[/color] "[color=red]Continuous[/color]" [color=red]18[/color]) ;[color=red]Set layer name, color, linetype, & lineweight[/color]
  36. (setvar "clayer" "[color=red]HATCH[/color]")            ;[color=red]Set HATCH layer current[/color]
  37. (command "._pline" PT01 PT02 PT04 PT03 "C")
  38. (setq E01 (entlast))
  39. (command "._-bhatch" "_a" "_a" "_y" "" "_p" H:PRP H:SCL H:ANG "_s" "_l" "" "")
  40. (command "._erase" E01 "")
  41. (EARTH_RUS)
  42. (princ))
  43. (princ)
  44. (princ "\nEARTH.lsp loaded... Type EARTH to start.")
  45. ;
  46. ;/////////////////////////////////////////////////////////////////////////////////////////
  47. ;
  48. ; Degrees To Radians.
  49. ;
  50. (defun EARTH_DTR (DEG#)(* pi (/ DEG# 180.0)))
  51. ;
  52. ;/////////////////////////////////////////////////////////////////////////////////////////
  53. ;
  54. ; Radians To Degrees.
  55. ;
  56. (defun EARTH_RTD (RAD#)(* 180.0 (/ RAD# pi)))
  57. ;
  58. ;/////////////////////////////////////////////////////////////////////////////////////////
  59. ;
  60. ; Make Layer.
  61. ;
  62. (defun EARTH_ML (LNAM LCLR LTYP LWGT)
  63. (if (null (tblsearch "layer" LNAM))
  64.    (entmake
  65.      (list
  66.        (cons   0 "LAYER")
  67.        (cons 100 "AcDbSymbolTableRecord")
  68.        (cons 100 "AcDbLayerTableRecord")
  69.        (cons   2  LNAM)
  70.        (cons  70  0)
  71.        (cons  62  LCLR)
  72.        (cons   6  LTYP)
  73.        (cons 290  1)
  74.        (cons 370  LWGT))))
  75. (princ))
  76. (princ)
  77. ;
  78. ;/////////////////////////////////////////////////////////////////////////////////////////
  79. ;
  80. ; Change Program Settings.
  81. ;
  82. (defun EARTH_CPS ()
  83. (setq CPS (list 0 1 0 0 0 0))
  84. (mapcar (function setvar)(list "cmdecho" "orthomode" "blipmode" "angbase" "angdir" "aunits") CPS)
  85. (princ))
  86. (princ)
  87. ;
  88. ;
  89. ;/////////////////////////////////////////////////////////////////////////////////////////
  90. ;
  91. ; Restore User Settings.
  92. ;
  93. (defun EARTH_RUS ()
  94. (setq *error* TERR)
  95. (if SUS (mapcar 'setvar SUS_LST SUS))
  96. (princ "\nEARTH.lsp has completed successfully and will now restore your settings.")
  97. (princ))
  98. (princ)
  99. ;
  100. ;/////////////////////////////////////////////////////////////////////////////////////////
  101. ;
  102. ; Error Trap.
  103. ;
  104. (defun EARTH_ET (ERRORMSG)
  105. (command nil nil nil)
  106. (if (not (member ERRORMSG '("console break" "Function cancelled")))
  107.    (princ (strcat "\nError:" ERRORMSG)))
  108. (if SUS (mapcar 'setvar SUS_LST SUS))
  109. (princ "\nEARTH.lsp has encountered a user error!")
  110. (princ "\nProgram will now restore your settings and exit.")
  111. (terpri)
  112. (setq *error* TERR)
  113. (princ))
  114. (princ)
  115. ;
  116. ;/////////////////////////////////////////////////////////////////////////////////////////
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:06:47 | 显示全部楼层
洛克马克,
 
这个程序对你有用吗?
好奇的人想知道。
回复

使用道具 举报

18

主题

58

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2022-7-6 11:10:06 | 显示全部楼层
尊敬的先生:
Lisp程序很好
谢谢分享
但lisp中有一个问题
im选取第一点终点和第二点nea图案填充为genrete cross
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 17:03 , Processed in 0.547774 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表