找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1631|回复: 11

[教学] API应用 选择集动态不等比缩放

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-15 09:01:27 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 st788796 于 2014-11-15 12:07 编辑

  1. (defun c:tt (/ myerr olderr ss bp ss1 blk box vec insblk)
  2.   (defun _deleteinsert (ent bn /)
  3.     (xdrx_entity_delete ent)
  4.     (xdrx_object_delete (xdrx_object_get "block" bn))
  5.   )
  6.   (defun myerr (msg)
  7.     (princ "\n*cancel*")
  8.     (xdrx_pointmonitor)
  9.     (xdrx_entity_setvisible ss t)
  10.     (_deleteinsert insblk blk)
  11.     (setq *error* olderr)
  12.     (princ)
  13.   )
  14.   (defun pt->2d (p) (list (car p) (cadr p)))
  15.   (defun callback (dynpt / v scl)
  16.     (if        (not (equal dynpt bp 1e-3))
  17.       (progn
  18.         (setq v          (pt->2d (mapcar '- dynpt bp))
  19.               scl (mapcar '/ v vec)
  20.         )
  21.         (xdrx_setpropertyvalue
  22.           insblk
  23.           "ScaleFactors"
  24.           (list (car scl) (cadr scl) 1.0)
  25.         )
  26.       )
  27.     )
  28.   )
  29.   (if (setq ss (ssget))
  30.     (progn
  31.       (setq myerr   *error*
  32.             *error* myerr
  33.             box            (xdrx_entity_box ss)
  34.             bp            (car box)
  35.             vec            (pt->2d (mapcar '- (caddr box) bp))
  36.             ss1            (xdrx_entity_transformedcopy ss (xdrx_matrix_identity))
  37.             blk            (xdrx_block_make ss1 bp T)
  38.             insblk  (entlast)
  39.       )
  40.       (xdrx_entity_setvisible ss nil)
  41.       (xdrx_pointmonitor "callback" insblk)
  42.       (if (setq p (getcorner bp "\n对角点: "))
  43.         (progn
  44.           ;;getcorner 不能判断用户输入数值,改进只能用getpoint
  45.           (xdrx_entity_delete ss)
  46.           (command ".explode" insblk);_此处总是将 pline 炸开,在命令行使用不会,不知原因
  47.           (xdrx_object_delete (xdrx_object_get "block" blk))
  48.         )
  49.         (progn
  50.           (_deleteinsert insblk blk)
  51.           (xdrx_entity_setvisible ss t)
  52.         )
  53.       )
  54.       (xdrx_pointmonitor)
  55.       (setq *error* olderr)
  56.     )
  57.   )
  58.   (princ)
  59. )
000.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 604个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 844个

财富等级: 财运亨通

发表于 2014-11-15 19:14:47 | 显示全部楼层
本帖最后由 龙吟舞 于 2014-11-15 19:30 编辑

变形不能用输入数据来控制吗?

点评

详细说说,怎么个输入数据?  详情 回复 发表于 2014-11-15 20:00
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-11-15 20:00:23 | 显示全部楼层
龙吟舞 发表于 2014-11-15 19:14
变形不能用输入数据来控制吗?

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

使用道具 举报

已领礼包: 8611个

财富等级: 富甲天下

发表于 2014-11-15 20:10:37 | 显示全部楼层
我猜输入数据大概是这个意思,输入长度数据和宽度数据,以精确控制缩放完的尺寸

点评

这不是在演示功能嘛,如果直接知道最后结果,一次就完了,没中间拖动的过程了。 不过,这个拖动,也可以用在可以捕捉控制大小的场合啊,比如像PS里面变换那样。  详情 回复 发表于 2014-11-15 20:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-11-15 20:14:41 | 显示全部楼层
liuyj 发表于 2014-11-15 20:10
我猜输入数据大概是这个意思,输入长度数据和宽度数据,以精确控制缩放完的尺寸

这不是在演示功能嘛,如果直接知道最后结果,一次就完了,没中间拖动的过程了。

不过,这个拖动,也可以用在可以捕捉控制大小的场合啊,比如像PS里面变换那样。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 187个

财富等级: 日进斗金

发表于 2016-11-14 22:05:48 | 显示全部楼层
你们都太强大了,CAD的数据库是不是都被你们给研究透了,玩的如此出神入化!XDRX_API确实很强大。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-11-14 23:56:16 | 显示全部楼层

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

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 201个

财富等级: 日进斗金

发表于 2024-3-21 15:39:24 | 显示全部楼层
(xdrx_object_get "block" blk),这句有些问题吧,取不出东西来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 10:02 , Processed in 0.407603 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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