- UID
- 291
- 积分
- 2553
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-11
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
[B]相关链接:
点钢筋缩放程序 http://www.xdcad.net/forum/showthread.php?postid=87937#post87937
关于矩阵在ACAD二次开发中的应用的讨论
http://www.xdcad.net/forum/showthread.php?s=&threadid=17118
以下讨论到的两个xdapi函数:
(xdrx_entity_getStretchPoint <实体名>) 返回特征拉伸点表
(xdrx_entity_moveStretchPoint <实体名> <移动向量> <p1>..[pn]) 拉伸点按照向量移动到指定位置
[/B]
高山流水-别问我是谁 说:
圆,圆心(0,0,0),半径r=3. 用拉伸的方法
高山流水-别问我是谁 说:
1。使其半径改为 5
高山流水-别问我是谁 说:
2。移动到(3,3,0)点
高山流水-别问我是谁 说:
用xdrx_entity_getStretchPoint 以及 (xdrx_entity_moveStretchPoint <实体名> <移动向量> <p1>..[pn])怎么写?
XDSoft 说:
两个API就是和STRETCH命令一样的效果
XDSoft 说:
其他缩放,用其他API
XDSoft 说:
缩放,
XDSoft 说:
构造缩放矩阵
XDSoft 说:
然后作用到实体上
高山流水-别问我是谁 说:
那好吧,换一个 用夹点拉伸直线
XDSoft 说:
stretch API就是 stretch
高山流水-别问我是谁 说:
p1 (0,0,0) p2(1,1,0)
XDSoft 说:
就是你在命令行交互输入@xx,xx,xx
那向量就是 (2,2,0)
高山流水-别问我是谁 说:
用xdrx_entity_getStretchPoint 返回的点表是 '((0,0,0)(1,1,0))?对否
XDSoft 说:
对啊
高山流水-别问我是谁 说:
(xdrx_entity_moveStretchPoint ent (2,2,0) <p1>..[pn]) 这些p*怎么用?
XDSoft 说:
可以同时拉多个
XDSoft 说:
必须给一个
XDSoft 说:
(xdrx_entity_moveStretchPoint ent (2,2,0) p2)
XDSoft 说:
就拉伸P2点
XDSoft 说:
(xdrx_entity_moveStretchPoint ent (2,2,0) p1)
XDSoft 说:
就拉伸P1
XDSoft 说:
(xdrx_entity_moveStretchPoint ent (2,2,0) p1 p2)
XDSoft 说:
两个都拉伸
XDSoft 说:
相当移动了
XDSoft 说:
第一个参数得到的其中一个你想拉的
XDSoft 说:
第一个函数
XDSoft 说:
是所有拉伸点中的一个
XDSoft 说:
告诉函数拉哪个点
高山流水-别问我是谁 说:
哦,如果 (setq lst (xdrx_entity_getStretchPoint (entsel)))
XDSoft 说:
想拉第二个
XDSoft 说:
就(setq p (cadr lst))
高山流水-别问我是谁 说:
你是在每个点 框起来 拉伸么?
XDSoft 说:
不用啊
高山流水-别问我是谁 说:
程序中是否用了个小的包围框来拉伸?
高山流水-别问我是谁 说:
是什么方法?
XDSoft 说:
你程序愿意怎么交互,就怎么交互
XDSoft 说:
最后你得到需要拉伸的点
XDSoft 说:
就行哦
XDSoft 说:
拉伸点位置返回是固定的
高山流水-别问我是谁 说:
我是问编程的思路,不是实际应用是的情形
XDSoft 说:
你有方法知道是拉伸哪个点就行了
高山流水-别问我是谁 说:
arx方法?
XDSoft 说:
STRETCH的窗选也是确定拉伸点
XDSoft 说:
比如你拉尺寸界线
XDSoft 说:
不一定要让用户窗口选
XDSoft 说:
可以点选附近
XDSoft 说:
然后你就能算出是哪个拉伸点离用户点近
XDSoft 说:
根据交互输入的距离,就可以拉伸了
高山流水-别问我是谁 说:
嗯知道了
高山流水-别问我是谁 说:
那你是怎么求那些拉伸点的?不用实体表?
高山流水-别问我是谁 说:
你的(xdrx_entity_getStretchPoint ent)是怎么做的?
XDSoft 说:
ARX有提供
XDSoft 说:
我只是做到LISP能用
高山流水-别问我是谁 说:
哦,arx有提供拉伸点的函数
高山流水-别问我是谁 说:
有提供夹点的函数么?
XDSoft 说:
当然,ARX是最底层的
XDSoft 说:
你说的其他,都可以用构筑矩阵来做
高山流水-别问我是谁 说:
知不知道 vlisp里面有没有提供夹点的函数?
XDSoft 说:
夹点只是提供一个交互
XDSoft 说:
没有
高山流水-别问我是谁 说:
看来我是要好好学学 矩阵了
XDSoft 说:
学好后,你编程思路都会变化
高山流水-别问我是谁 说:
期待
XDSoft 说:
试验尺寸吧
XDSoft 说:
STRETCH是最方面的命令
XDSoft 说:
但是写程序很难实现
XDSoft 说:
提供这两个API,就可以用LISP轻松实现STRETCH了
XDSoft 说:
很多程序都会变的很短的
XDSoft 说:
你不用在算复杂的组码
XDSoft 说:
http://www.xdcad.net/forum/showt ... post&forumid=97
XDSoft 说:
你去看看这个演示,用矩阵的方法,变换实体
----------梦断江南整理 |
|