乐筑天下

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

[编程交流] 偏移到图层

[复制链接]

15

主题

54

帖子

39

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 23:53:13 | 显示全部楼层 |阅读模式
大家好,
 
有人知道可以偏移到当前层或所选层的lisp吗?
 
提前感谢!
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-5 23:57:30 | 显示全部楼层
我相信OFFSET命令已经做到了这一点。
 
命令:偏移
指定偏移距离或[通过/擦除/层]
回复

使用道具 举报

1

主题

61

帖子

65

银币

初来乍到

Rank: 1

铜币
4
发表于 2022-7-6 00:02:54 | 显示全部楼层
是的,这是另一个线程中的一个:
 
  1. ;Offset to current layer...excellent program.
  2. (DeFun C:OSET1 (/ LAYER ECHO TEMP
  3. ENTITY)
  4. (SetQ LAYER (GetVar "CLayer")
  5.        ECHO (GetVar "CmdEcho"))
  6. (SetVar "CmdEcho" 0)
  7. (While
  8. (ProgN
  9.   (SetQ TEMP (GetString (StrCat
  10.    "\nDestination layer? <"LAYER">:")))
  11.   (Cond
  12.    ((Eq TEMP "") Nil)
  13.    ((TblSearch "LAYER" TEMP) (SetQ
  14.     LAYER TEMP) Nil)
  15.    (T (PrinC "\nLayer not found."))
  16. )))
  17. (InitGet (+ 2 4) "Through")
  18. (SetQ TEMP (GetDist (StrCat
  19. "\nOffset distance or Through <"
  20. (If DIST (RToS DIST) "Through")
  21. ">: ")))
  22. (Cond
  23. ((Eq TEMP "Through") (SetQ DIST Nil))
  24. (TEMP (SetQ DIST TEMP))
  25. )
  26. (SetQ TEMP (If DIST "\nSide to offset?"
  27. "\nThrough point: "))
  28. (While
  29. (And
  30.   (SetQ ENTITY (EntSel
  31.    "\nSelect object to offset: "))
  32.   (SetQ PT (GetPoint TEMP))
  33. )
  34. (Command ".OFFSET" (If DIST DIST "T")
  35.   ENTITY PT "")
  36. (SetQ ENTITY (EntLast)
  37.        ENTITY (EntGet ENTITY)
  38.        ENTITY (SubSt (Cons 8 LAYER)
  39.            (Assoc 8 ENTITY) ENTITY))
  40. (EntMod ENTITY)
  41. )
  42. (SetVar "CmdEcho" ECHO)
  43. (PrinC)
  44. )
回复

使用道具 举报

15

主题

54

帖子

39

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 00:06:18 | 显示全部楼层
谢谢大家
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 00:09:42 | 显示全部楼层
Express Tools的偏移量
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:17:14 | 显示全部楼层
 
是的,我喜欢这个工具-也适用于多个偏移:眨眼:
回复

使用道具 举报

0

主题

4

帖子

4

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 00:17:25 | 显示全部楼层
有没有办法将一个对象偏移到源层,但将原始对象更改到不同的层,所有这些都在同一个运动中?
 
005317yf4rfzag8gwfjbbj.jpg
回复

使用道具 举报

0

主题

4

帖子

4

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 00:21:39 | 显示全部楼层
 
这有可能吗?
 
我喜欢GhostRider建议的代码,我一直在调整它以尝试这些结果,但我不是程序员,所以我没有运气也就不足为奇了。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:26:05 | 显示全部楼层
下面是一个非常简单的示例:
  1. (defun c:myoffset ( / ent off )
  2.    (if
  3.        (and
  4.            (setq ent (car (entsel "\nSelect object to offset: ")))
  5.            (setq off (getdist "\nSpecify offset distance: "))
  6.        )
  7.        (if (vl-cmdf "_.offset" "_L" "_S" off ent "\" "")
  8.            (entmod (subst '(8 . "YourLayerHere") (assoc 8 (setq ent (entget ent))) ent))
  9.        )
  10.    )
  11.    (princ)
  12. )
回复

使用道具 举报

0

主题

4

帖子

4

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 00:29:17 | 显示全部楼层
 
杰出的工作完美!
 
谢谢李!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:33 , Processed in 0.753557 second(s), 74 queries .

© 2020-2025 乐筑天下

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