乐筑天下

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

[编程交流] 帮助用di画双线

[复制链接]

29

主题

84

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 07:54:11 | 显示全部楼层 |阅读模式
你好
我需要一个lisp绘制一个连续的双线,每一行在不同的层和不同的线型。
例如:
*第1行位于“液体”层,L类型:“连续”
*第2行位于层:“气体”,L类型:“虚线”
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 08:14:14 | 显示全部楼层
我想你可以创建你的特殊多行风格,
只是一个想法
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 08:26:51 | 显示全部楼层
听起来你想要我很久以前用过的东西(在90年代的ACad R10-R14上),WallDraw:http://www.cadplan.co.za/docs/ct1_GENERAL.pdf
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 08:39:26 | 显示全部楼层
 
我同意,唯一需要担心的是“图层特性”,我认为您只能指定线型和颜色替代,但不能指定图层。所以两条线都位于一层。除非随后分解多行,并且lisp代码应用这些属性。
 
Sans mulitline这将是一段有趣的代码
 
提示输入“宽度”。。。。[简单的奶酪]
取决于拾取点的数量。。。。[那是直线还是普林线……]
如果你能动态地看到第二行,那就太好了。。。。。[grdraw…]
.... 还有什么。。。嗯。。。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 08:52:15 | 显示全部楼层
我希望这会让你开始
(在我的老歌中找到)
  1. ; 11/13/04 4:06 PM
  2. ;Draw two lines;
  3. (defun C:TWOLINES (/ *error* adoc cline cmde dia
  4. erro mdsp osmd pbx pt ptlist rad )
  5. ;_____________________________;
  6. (setq cmde (getvar "cmdecho"))
  7. (setvar "cmdecho" 0)
  8. (command "_.undo" "_G")
  9. (setq osmd (getvar "osmode"))
  10. (setvar "osmode" 0)
  11. (setq pbx (getvar "pickbox"))
  12. (setvar "pickbox" 4)
  13. (setq erro *error*)
  14. (defun *error* (msg)
  15. (setq *error* erro)
  16. (setvar "osmode" osmd)
  17. (command "_.undo" "_E")
  18. (setvar "cmdecho" cmde)
  19. (setvar "pickbox" pbx)
  20. (if
  21. (or
  22. (= msg "Function cancelled")
  23. (= msg "quit / exit abort")
  24. )
  25. (princ)
  26. (princ (strcat "\nError: " msg))
  27. )
  28. )
  29. ; Helper function
  30. (defun safefill (lst )
  31. (vlax-safearray-fill (vlax-make-safearray
  32. vlax-vbDouble
  33. (cons 0 (- (length (apply 'append lst))1)))
  34. (apply 'append lst))); eof safefill
  35. (vl-load-com)
  36. (setq adoc
  37. (vla-get-activedocument
  38. (vlax-get-acad-object))
  39. mdsp (vla-get-modelspace adoc))
  40. (setq dia (getreal "\nDiameter (or Wall Width): ") rad (/ dia 2.0))
  41. (setq pt (getpoint "\nSpecify start point: "))
  42. (setq ptlist (cons pt ptlist))
  43. (while (setq pt1 (getpoint pt "\nSpecify next point: " ))
  44. (grdraw pt pt1 1 -1)
  45. (setq ptlist (cons pt1 ptlist))
  46. (setq pt pt1)
  47. )
  48. (setq cline (vla-addPolyline mdsp (safefill ptlist)))
  49. (vla-put-layer cline "liquid")
  50. (vla-put-color cline 256)
  51. ;(vla-offset cline (- rad))
  52. (vla-offset cline rad)
  53. (vla-put-color cline 256)
  54. (vla-put-layer cline "gas")
  55. (vla-put-linetypescale cline dia);<-- to your suit
  56. (vla-regen adoc acActiveViewport)
  57. (princ)
  58. (setq *error* erro)
  59. (setvar "osmode" osmd)
  60. (command "_.undo" "_E")
  61. (setvar "cmdecho" cmde)
  62. (setvar "pickbox" pbx)
  63. (princ)
  64. ); eof
  65. (princ "\nStart command with "TWOLINES" ")
  66. (princ)
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 08:54:18 | 显示全部楼层
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:03 , Processed in 0.636276 second(s), 64 queries .

© 2020-2025 乐筑天下

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