找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1629|回复: 6

[求助] [求助]:关于Vla-GetUCSMatrix、Vla-TransFormBy函数。

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-1-26 09:18:51 | 显示全部楼层 |阅读模式

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

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

×
请教:

1 Vla-GetUCSMatrix 使用示例。

2 Vla-TransFormBy能否对点转换。

  1. [color=blue]  Vla-TransFormBy[/color]

  2.   功    能:依给定的4x4转换矩阵移动、调整或旋转对象。

  3.   语法格式:object.TransformBy TransformationMatrix

  4.   Object    这个方法适用于所有的Drawing对象、AttributeRef。

  5.   TransformationMatrix 变体或双精度类型的4x4数组;输入要执行转换的4x4矩阵。
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2003-1-26 15:01:35 | 显示全部楼层
问题1已解决。

  1. (setq        matrix (vla-getucsmatrix
  2.                  (vla-get-activeucs
  3.                    (vla-get-activedocument (vlax-get-acad-object))
  4.                  )
  5.                )
  6.   )

问题2 :有转换点的函数吗?

  1. (vla-transformby
  2.       (vlax-ename->vla-object (car (entsel)))
  3.       (vla-getucsmatrix
  4.         (vla-get-activeucs
  5.           (vla-get-activedocument (vlax-get-acad-object))
  6.         )
  7.       )
  8.     )
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-1-27 12:48:16 | 显示全部楼层
Translates a point from one coordinate system to another coordinate system.

Signature

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2003-1-28 14:28:19 | 显示全部楼层
最初由 LUCAS 发布
[B]Translates a point from one coordinate system to another coordinate system.

Signature

RetVal = TranslateCoordinates(OriginalPoint, From, To, Disp[, OCSNormal]) [/B]

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

使用道具 举报

发表于 2003-1-28 15:56:26 | 显示全部楼层

  1. ;;By LUCAS(龙龙仔)
  2. ;;3点建UCS,再求垂直点线
  3. (defun C:EE (/ PT1 PT2 PT3 PT4 UTIL WW)
  4.   (setq        UTIL
  5.          (vla-get-utility
  6.            (vla-get-activedocument
  7.              (vlax-get-acad-object)
  8.            )
  9.          )
  10.   )
  11.   (command "_.ucs" "w")
  12.   (setq PT1 (getpoint "\n第一点: "))
  13.   (setq PT2 (getpoint PT1 "\n第二点: "))
  14.   (grdraw PT1 PT2 3 1)
  15.   (setq PT3 (getpoint PT2 "\n第三点: "))
  16.   (grdraw PT2 PT3 3 1)
  17.   (grdraw PT3 PT1 3 1)
  18.   (setq PT4 (getpoint "\n面外点: "))
  19.   (command "_.regen")
  20.   (command "_.ucs" 3 PT1 PT2 PT3)
  21.   (vlax-safearray-put-element
  22.     (setq WW (vlax-variant-value
  23.                (vla-translatecoordinates
  24.                  UTIL
  25.                  (vlax-3d-point PT4)
  26.                  acworld
  27.                  acucs
  28.                  :vlax-false
  29.                )
  30.              )
  31.     )
  32.     2
  33.     0
  34.   )
  35.   (setq        WW (vlax-safearray->list
  36.              (vlax-variant-value
  37.                (vla-translatecoordinates
  38.                  UTIL WW acucs acworld :vlax-false)
  39.              )
  40.            )
  41.   )
  42.   (command "_.ucs" "p")
  43.   (grdraw PT4 WW 3 1)
  44.   ;;(grdraw PT1 PT2 3 1)
  45.   ;;(grdraw PT2 PT3 3 1)
  46.   ;;(grdraw PT3 PT1 3 1)
  47.   (command "_.ucs" "p")
  48.   (princ "\n垂点(世界坐标): ")
  49.   (princ WW)
  50.   (vlax-release-object UTIL)
  51.   (princ)
  52. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2003-2-8 00:09:52 | 显示全部楼层
感谢龙龙仔,我对VL知之甚少,最近用到矩阵看了些资料。因为不懂VC,也不懂VB,只好看看线代,原来矩阵也可以用纯LSP写些转换函数,不就是行列式展开吗,加减乘除用lsp写还能应付,有时间写写近来的心得与大家分享。

目前有几个成果(纯LSP):

(ea:matrix_inverse matrix)
获得矩阵的逆矩阵

(ea:getucsMatrix ucsname)
获得指定UCS到WCS的转换矩阵

(ea:point_transformby matrix)
获取矩阵转换后的点

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 06:43 , Processed in 0.181967 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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