找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1304|回复: 12

[求助] 请教(vla-move (vla-copy n)复制的位置不对

[复制链接]

已领礼包: 1336个

财富等级: 财源广进

发表于 2021-4-30 16:37:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 434939575 于 2021-4-30 16:39 编辑


  1. (defun pts->> (SS0 / elist n ptlist  )
  2.   (setq ptlist nil)
  3.   (setq elist (entget SS0))
  4.   (foreach n elist
  5.     (if        (or (= 10 (car n)) (= 11 (car n)))
  6.       (setq ptlist (cons (cdr n) ptlist))
  7.     )
  8.   )
  9.   (setq ptlist (reverse ptlist))


  10.   
  11. )

  12. (defun c:tt1 ();速度快。位置有错误问题

  13.   (setq n (vlax-ename->vla-object (car (entsel "点取任意要复制的图形"))))

  14.   (setq sel (entsel "点取任意路径图形"))
  15.   (setq pt (cadr sel))
  16.   (entmake (list '(0 . "CIRCLE") (cons 10 pt) (cons 40 2000)));测试当时位置
  17.   (setq x (car sel))
  18. (setq app (pts->> x))
  19.   ;(setq app (list (0 0 )(100 0)(200 0)(300 0)(400 0)))
  20.   (setq ppp(vlax-3d-point (trans pt 1 0  )))
  21.   (foreach y app
  22.     (vla-move (vla-copy n)
  23.              ppp ;(vlax-3d-point (trans pt 1 0))
  24.               (vlax-3d-point (trans y 1 0  ))
  25.     )
  26.     (entmake (list '(0 . "CIRCLE") (cons 10 y) (cons 40 1000)));测试线段坐标位置位置
  27.   )

  28. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2021-4-30 16:42:05 | 显示全部楼层
我想把图形复制到另外线段的每个节点一份,但是复制的相对关系对的,位置位置错位,好像移动了位置。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2021-4-30 16:44:27 | 显示全部楼层
本帖最后由 434939575 于 2021-4-30 16:46 编辑

这个错位了,绿色圆按坐标绘制,检测。可能trans 问题,不理解他意思。
微信图片_20210430164608.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 511个

财富等级: 财运亨通

发表于 2021-4-30 19:17:06 | 显示全部楼层
1、pt应该是选择复制图形时的鼠标点,而不是选择路径图形时的鼠标点
2、vla-move参数需要的是wcs的点,app点表已经是wcs的点,不必再用(trans y 1 0)转换
(defun c:tt  ()
  (defun pts->>  (ent)
    (mapcar 'cdr
            (vl-remove-if-not
              '(lambda (x) (member (car x) '(10 11)))
              (entget ent))))
  (setvar "nomutt" 0)
  (setq en  (entsel "\n选择要复制的对象")
        sel (car (entsel "\n选择路径对象")))
  (cond ((and en sel)
         (setq pt   (vlax-3d-point (trans (cadr en) 1 0))
               en   (vlax-ename->vla-object (car en))
               plst (pts->> sel))
         (foreach y  plst
           (vla-move (vla-copy en) pt (vlax-3d-point y))
           (entmake (list '(0 . "CIRCLE") (cons 10 y) (cons 40 10.))))))
  (princ))
仅供参考

点评

选择要复制的对象 如果是选择集,不知如何处理了  详情 回复 发表于 2021-5-7 22:01
谢谢你详细的解答,2、vla-move参数需要的是wcs的点,app点表已经是wcs的点,不必再用(trans y 1 0)转换。特别是这里,我一直不明白这个转换的作用(trans y 1 0)终于清楚了。这个复制比copy快很多。  详情 回复 发表于 2021-5-1 09:33
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2021-5-1 09:33:33 | 显示全部楼层
pxr201419 发表于 2021-4-30 19:17
1、pt应该是选择复制图形时的鼠标点,而不是选择路径图形时的鼠标点
2、vla-move参数需要的是wcs的点,app ...

谢谢你详细的解答,2、vla-move参数需要的是wcs的点,app点表已经是wcs的点,不必再用(trans y 1 0)转换。特别是这里,我一直不明白这个转换的作用(trans y 1 0)终于清楚了。这个复制比copy快很多。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2021-5-1 12:58:14 | 显示全部楼层
复制的位置不对

点评

就是相对位置不对了,楼上朋友已经帮我解决了。  详情 回复 发表于 2021-5-1 14:51
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2021-5-1 14:51:39 | 显示全部楼层
greatxs 发表于 2021-5-1 12:58
复制的位置不对

就是相对位置不对了,楼上朋友已经帮我解决了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 756个

财富等级: 财运亨通

发表于 2021-5-1 15:07:56 | 显示全部楼层
谢谢讨论及结果分享!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

发表于 2021-5-3 07:46:08 | 显示全部楼层
pxr201419 发表于 2021-4-30 19:17
1、pt应该是选择复制图形时的鼠标点,而不是选择路径图形时的鼠标点
2、vla-move参数需要的是wcs的点,app ...

感謝大大的分享 學習了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 375个

财富等级: 日进斗金

发表于 2021-5-5 23:16:09 | 显示全部楼层
感谢楼主分享学习!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2021-5-6 09:21:45 | 显示全部楼层

感谢楼主分享学习!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2874个

财富等级: 家财万贯

发表于 2021-5-7 22:01:00 | 显示全部楼层
pxr201419 发表于 2021-4-30 19:17
1、pt应该是选择复制图形时的鼠标点,而不是选择路径图形时的鼠标点
2、vla-move参数需要的是wcs的点,app ...

选择要复制的对象     如果是选择集,不知如何处理了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 244个

财富等级: 日进斗金

发表于 2021-7-27 21:42:30 | 显示全部楼层
非常感谢   你的代码给我启发
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 13:59 , Processed in 0.387449 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表