乐筑天下

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

[编程交流] 偏移线X 2和更改铺层

[复制链接]

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 15:15:50 | 显示全部楼层 |阅读模式
我有一个lisp将一条线偏移5mm,并更改图层。我想要它做的是将线偏移5mm和10mm,因此最终将有3条线。我希望两条偏移线位于同一层上,并且颜色和线型不同(5mm偏移线“青色”“awthidden2”(线型),10mm偏移线“红色”“连续”)。这是将一条线偏移5mm并更改图层的代码,我需要添加什么才能使其偏移10mm并更改图层和线型?
 
  1. (defun c:membrane (/ ent pt)
  2. (while (and
  3. (setq ent (car (entsel "\nSelect object to offset 5 or <exit>:")))
  4. (setq pt (getpoint "\nSpecify point on side to offset:"))
  5. )
  6. (command "._offset" 5.00 ent "_non" pt "")
  7. (command "._change" (entlast) "" "_P" "_LA" "Membrane" "")
  8. )
  9. (princ)
  10. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:22:01 | 显示全部楼层
也许是这个?
 
  1. (defun c:membrane (/ ent pt l1 l2)
  2.    (setq oldlay (getvar "clayer"))
  3.    (while (and
  4.           (setq ent (car (entsel "\nSelect object to offset 5 or <exit>:")))
  5.           (setq pt (getpoint "\nSpecify point on side to offset:"))
  6.       ) ;_  end and
  7.    (if (not (tblsearch "Layer" "Membrane"))
  8.        (command "-layer" "m" "Membrane" "")
  9.        (setvar "clayer" "Membrane")
  10.    ) ;_  end if
  11.    (command "._offset" 5.00 ent "_non" pt "")
  12.    (setq l1 (entlast))
  13.    (command "._offset" 10.00 l1 "_non" pt "")
  14.    (setq l2 (entlast))
  15.    (command "_chprop" l1 "" "c" "cyan" "lt" "awthidden2" "")
  16.    (command "_chprop" l2 "" "c" "red" "lt" "continuous" "")
  17.    ) ;_  end while
  18.    (setvar "clayer" oldlay)
  19.    (princ)
  20. ) ;_  end defun
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 15:23:58 | 显示全部楼层
谢谢李,它没有100%的工作,它抵消了第一行5mm,然后第二个10mm,而不是前5和10mm,但我改变了它,它工作得很好。而且它没有改变图层,你知道为什么吗?非常感谢你的帮助。如果你来澳大利亚,啤酒我请客
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:26:08 | 显示全部楼层
当你说它没有改变图层。。。你的意思是当偏移时,线不在正确的层上吗?或者它没有重置回原始的当前层?
 
谢谢你的啤酒-我不知道你在澳大利亚-难怪你晚上这个时候总是很活跃。。。
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 15:30:06 | 显示全部楼层
当两条线偏移时,它们会改变颜色等,但不会改变图层。理想情况下,如果它们被改成“膜”,那就好了,但目前它们没有。是的,我在澳大利亚,我不是猫头鹰
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:32:36 | 显示全部楼层
非常抱歉,Gazzalp,我没有在我的机器上测试最后一个LISP,因为我没有必要的线型等。
 
无论如何,这应该有效:
 
  1. (defun c:membrane (/ ent pt l1 l2)
  2.    (setq oldlay (getvar "clayer"))
  3.    (while (and
  4.           (setq ent (car (entsel "\nSelect object to offset 5 or <exit>:")))
  5.           (setq pt (getpoint "\nSpecify point on side to offset:"))
  6.       ) ;_  end and
  7.    (if (not (tblsearch "Layer" "Membrane"))
  8.        (command "-layer" "m" "Membrane" "")
  9.    ) ;_  end if
  10.    (command "._offset" 5.00 ent "_non" pt "")
  11.    (setq l1 (entlast))
  12.    (command "._offset" 10.00 ent "_non" pt "")
  13.    (setq l2 (entlast))
  14.    (command "_chprop" l1 "" "c" "cyan" "lt" "awthidden2" "la" "Membrane" "")
  15.    (command "_chprop" l2 "" "c" "red" "lt" "continuous" "la" "Membrane" "")
  16.    ) ;_  end while
  17.    (setvar "clayer" oldlay)
  18.    (princ)
  19. ) ;_  end defun

 
 
好我突然想到了。。。
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 15:35:15 | 显示全部楼层
那更好了,谢谢李。你的下一个任务应该是你选择接受它,比如说我有一个horiz。直线,然后是一条45度角的直线,即:_/i希望能够在两条直线上使用该宏,并使新线彼此圆角。这有可能吗?我也有一些情况下,这种情况可能会持续相当多的角度变化,所以无论何时我偏移,它填充到它旁边的其他行(不确定这是否可行,特别是考虑到它的for sections;作为一个例子,第1节可能看起来像_/\ _并且我希望所有这些行都被填充,但这并不是说你可以把它写进程序中,每当添加这些新行时,它们都需要被填充(因为第二节可能需要这些线,我显然不能让它们倒圆角/连接到第1节),但可能会让它们一直偏移,直到我按enter键,然后当我按enter键时,之前所有倒圆角的线都连接在一起。对于这样一个简单的问题,有很多解释。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:39:57 | 显示全部楼层
你能不能先发一份你想要的样品?
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 15:43:30 | 显示全部楼层
当然:顶部是线在偏移之前的样子,底部是我想要的样子(所以宏已经偏移了线,我想知道它是否也可以对它们进行圆角,就像我上传的图形中那样)
膜图纸
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:46:36 | 显示全部楼层
好的,圆角半径是多少?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-5-28 12:02 , Processed in 0.382370 second(s), 83 queries .

© 2020-2025 乐筑天下

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