找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3328|回复: 12

[求助] ARX怎样修改块的插入点。

[复制链接]
发表于 2015-7-9 23:42:55 | 显示全部楼层 |阅读模式

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

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

×
请问题怎样修改一个包含属性定义的图块的基点,只需贴出关键代码即可。
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2015-7-10 11:52:43 | 显示全部楼层
本人将表示小小心意,奖励200元,以示感谢!

点评

BlockTabelRecordId 中原点始终是(0 0 0) ,插入点也就是BlockTableRecordId的原点,所谓修改基点就是将内部的 Entity 移动到新的位置 http://bbs.xdcad.net/thread-670723-1-2.html 这是 XDAPI 写的修改块基  详情 回复 发表于 2015-7-10 17:01
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2015-7-10 15:14:27 | 显示全部楼层
本帖最后由 txllap 于 2015-7-10 16:05 编辑

明经社区里,有高手提供了现成的程序,你去看看吧http://bbs.mjtd.com/thread-56371-1-1.html
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-7-10 17:01:25 | 显示全部楼层
cxjzxf 发表于 2015-7-10 11:52
本人将表示小小心意,奖励200元,以示感谢!

BlockTabelRecordId 中原点始终是(0 0 0) ,插入点也就是BlockTableRecordId的原点,所谓修改基点就是将内部的 Entity 移动到新的位置

http://bbs.xdcad.net/thread-670723-1-2.html

这是 XDAPI 写的修改块基点程序,XDAPI 也是 ARX 写的,看看这些函数用 ARX 写出来对会着不难
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2015-7-11 10:09:38 | 显示全部楼层
用这个应该就行了

AcDbBlockTableRecord::setOrigin Function Acad::ErrorStatus

setOrigin(

const AcGePoint3d& pt);

pt Input base point

Sets pt to be the insertion point of the block table record in WCS coordinates. This point is the origin of the MCS (which is the local WCS for the entities within the block table record).

Note For all block table records created by AutoCAD versions after Release 10, this point is always (0,0,0). It is highly recommended that this point be left at (0,0,0).

The origin value is used for DXF group code 10.

Returns Acad::eOk if successful, or Acad::eInvalidInput if the data passed in is not acceptable.

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2015-7-12 09:24:41 | 显示全部楼层
(defun c:22()
        (setq ent (car (entsel"\nSelect a block:")))
        (if (not ent)
                (exit)
        )
        (setq e1 (entget ent))
        (setq pt1 (getpoint"\n select new base point:"))
        (if pt1
                (progn
                (setq e2 (subst (cons 10 pt1) (assoc 10 e1) e1))
          (entmod e2)       
                )
        )
)
这个块插入基点并没有改变
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2015-7-12 09:45:35 | 显示全部楼层
要想位置不变,那就要将块定义内的实体反向移动一个相对距离
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-12 10:49:48 | 显示全部楼层
是相对于新旧插入点这个距离,对么

点评

你改完基点后,位置移动多少? 你再给移动回去不就行了。  详情 回复 发表于 2015-7-12 17:34
没有旋转、等比插入时是这个矢量  详情 回复 发表于 2015-7-12 11:04
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2015-7-12 11:04:44 | 显示全部楼层
cxjzxf 发表于 2015-7-12 10:49
是相对于新旧插入点这个距离,对么


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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2015-7-12 17:34:25 | 显示全部楼层
cxjzxf 发表于 2015-7-12 10:49
是相对于新旧插入点这个距离,对么

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 16:23 , Processed in 0.216671 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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