Keith™ 发表于 2007-1-5 21:06:42

从 WCS 中提供的一组点创建新的 UCS

**** Hidden Message *****

Kerry 发表于 2007-1-5 21:22:57

大多数Ucs问题是由Origin引起的。您必须制作Ucs然后设置原点。即原点为0,0,0设置ucs然后更改原点

Bryco 发表于 2007-1-5 23:08:55

Sub u()
暗淡wcs As AcadUCS
暗淡原点(2)作为双,xVector(2)作为双,yVector(2)作为双
原点(0)=5:原点(1)=7:原点(2)=0
xVector(0)=1: xVector(1)=1: xVector(2)=0
yVector(0)=-1: yVector(1)=1: yVector(2)=0
设置wcs=ThisDrawing.UserCoordinateSystems.Add(原点, xVector, yVector,"WCS")
结束Sub
此错误作为查克的习惯。

Kerry 发表于 2007-1-5 23:13:04

Bryco,我记得与VLisp ActiveX相同的问题
...导致这个...
;;
;;;-------------------------------------------------------------
;;;-------------------------------------------------------------
;;
(defun KDUB:UCS:BlackBox (NewUcsName Origin XAxis YAxis Activate / objUCS)
;;
;;    by Kerry Brown2004.Feb.11
;;    Revised kwb2005.Jul.02
;;    Create a Named UCS and Optionally Activate it.
;|
Required globals                        : g:activedoc, g:ucss
Required dependancies : nil
Parameters:-
      NewUcsName      :
      Origin                  :                  
      XAxis                           :
      YAxis                           :
      Activate                : Set as ActiveUCS

Returns :   or nil.

|;
;;;;----------------
(or NewUcsName (setq NewUcsName "TempUCS"))
(or Origin (setq Origin (getvar "ucsorg")))
(or XAxis (setq XAxis (getvar "ucsxdir")))
(or YAxis (setq YAxis (getvar "ucsydir")))
;;
(setq objUCS (vla-add (kdub:iacaducss)
                        (vlax-3d-point '(0.0 0.0 0.0)) ;origin
                        (vlax-3d-point XAxis)          ;x-axis
                        (vlax-3d-point YAxis)          ;y-axis
                        NewUcsName
               )
)
(vla-put-origin objUCS (vlax-3d-point Origin))
(if Activate
    (vla-put-activeucs (kdub:iacaddocument) objUCS)
)
objUCS
)
;;
;;;-------------------------------------------------------------
;;;-------------------------------------------------------------
引用自

Bryco 发表于 2007-1-5 23:14:20

如果我没看错的话,起源在最后。
Kerry,这很有意思,因为我认为这是vba的问题,即vba在双打上有点像你父亲,但现在你已经证明这一切都结束了。

Kerry 发表于 2007-1-5 23:41:18

是的布里科,起源最后;这是使用ActiveX的一个条件..方法就是这样工作的。
页: [1]
查看完整版本: 从 WCS 中提供的一组点创建新的 UCS