乐筑天下

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

[编程交流] 将层分离/复制到其他p

[复制链接]

11

主题

33

帖子

22

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-5 18:30:02 | 显示全部楼层 |阅读模式
通过用户拾取点将层分离/复制到其他位置,然后将其水平排序
 
下面的代码没有水平排序。如何更改代码,使其水平(见附图)
 
  1. (defun c:test1 ( / _move d ss l lst ) (vl-load-com)
  2. (defun _move ( obj p q dist )
  3.    (vla-move (setq obj (vla-copy obj)) (vlax-3D-point p) (vlax-3D-point q))
  4.    (vla-move obj (vlax-3D-point '(0. 0. 0.)) (vlax-3D-point (list dist 0. 0.)))
  5. )
  6. (if
  7.    (and
  8.      (ssget "_:L")
  9.      (setq p1 (getpoint "\nBase Point: "))
  10.      (setq p2 (getpoint "\nDesired Location: " p1))
  11.      (setq p1 (trans p1 1 0) p2 (trans p2 1 0))
  12.    )
  13.    (progn
  14.      (vlax-for obj (setq d 10. ss (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object))))
  15.        (_move obj p1 p2
  16.          (cond
  17.            ( (cdr (assoc (setq l (vla-get-layer obj)) lst)) )
  18.           ((cdr (assoc (vl-string-right-trim "D" l) lst)))
  19.                 ((cdr (assoc (strcat l "D") lst)))
  20.            ( (setq lst (cons (cons l (setq d (- d 650.))) lst)) d )
  21.          )
  22.        )
  23.      )
  24.      (vla-delete ss)
  25.    )
  26. )
  27. (princ)
  28. )

193009i14tztt2a4r4pccl.jpg
回复

使用道具 举报

11

主题

33

帖子

22

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-5 19:44:41 | 显示全部楼层
任何理想的男人
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:35 , Processed in 0.782816 second(s), 59 queries .

© 2020-2025 乐筑天下

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