{"id":1898,"date":"2007-01-23T11:30:46","date_gmt":"2007-01-23T03:30:46","guid":{"rendered":"https:\/\/www.highflybird.com\/blog\/?p=1898"},"modified":"2007-01-23T11:30:46","modified_gmt":"2007-01-23T03:30:46","slug":"%e6%88%aa%e9%9d%a2%e7%9a%84%e5%87%a0%e4%bd%95%e5%8f%82%e6%95%b0","status":"publish","type":"post","link":"https:\/\/www.highflybird.com\/blog\/?p=1898","title":{"rendered":"\u622a\u9762\u7684\u51e0\u4f55\u53c2\u6570"},"content":{"rendered":"<p>[codesyntax lang=&#8221;lisp&#8221; lines_start=&#8221;1&#8243; title=&#8221;\u622a\u9762\u7684\u51e0\u4f55\u53c2\u6570&#8221; blockstate=&#8221;expanded&#8221;]<br \/>\n(alert &#8220;\\n\u672c\u7a0b\u5e8f\u547d\u4ee4\u4e3aTEST\uff0c\u5177\u4f53\u7528\u6cd5\u5982\u4e0b:<br \/>\n        \\n\u5355\u4f4d\u548c\u7cbe\u5ea6\u7531ACAD\u786e\u5b9a\uff0c\u53ef\u81ea\u5df1\u63a7\u5236\uff0c\u9009\u62e9\u5c01\u95ed\u7ebf\u6bb5\u7269\u4f53\uff0c\u6216\u8005region\u7269\u4f53\uff0c<br \/>\n\t\\n\u5728\u63d0\u793a\u6570\u636e\u8f93\u51fa\u65b9\u5f0f\u65f6\uff0c\u6309\u4e0bP\u6216W\u952e\uff0cP\u4ee3\u8868\u5c4f\u5e55\u8f93\u51fa\uff0cW\u5219\u5728C:\u76d8\u521b\u5efa\u6570\u636e\u3002<br \/>\n\t\\n\u8bf7\u5c0a\u91cd\u539f\u521b\u8005\uff0c\u52ff\u7528\u4e8e\u5546\u4e1a\u76ee\u7684!!    Highflybird   2007.1.23  KunMing&#8221;)<br \/>\n(defun mas (obj \/ Area Area1 Area2 Perimeter Centroid Centroid1 Centroid2 MomentOfInertia<br \/>\n\t          MomentOfInertia1 PrincipalDirections PrincipalMoments minpt maxpt Sx Sy<br \/>\n\t          ProductOfInertia ProductOfInertia1 RadiiOfGyration Wx1 Wx2 Wy1 Wy2 obj1<br \/>\n\t          obj2 recPt1 recPt2 reg1 reg2 CenX CenY)<br \/>\n  (if (= &#8220;AcDbRegion&#8221; (vla-get-objectname obj))                        ;\u5982\u679c\u662f\u622a\u9762\u5219\u8ba1\u7b97<br \/>\n    (progn<br \/>\n      (setq Area (vla-get-area obj)                                    ;\u9762\u79ef<br \/>\n            Perimeter (vla-get-Perimeter obj)                          ;\u5468\u957f<br \/>\n            Centroid (V2L (vla-get-Centroid obj))                      ;\u8d28\u5fc3<br \/>\n\t    MomentOfInertia (V2L (vla-get-MomentOfInertia obj))        ;\u60ef\u6027\u77e9<br \/>\n            PrincipalDirections (V2L (vla-get-PrincipalDirections obj));\u4e3b\u77e9\u65b9\u5411<br \/>\n\t    PrincipalMoments (V2L (vla-get-PrincipalMoments obj))      ;\u4e3b\u529b\u77e9\u4e0e\u8d28\u5fc3\u7684X-Y\u65b9\u5411<br \/>\n\t    ProductOfInertia (vla-get-ProductOfInertia obj)            ;\u60ef\u6027\u79ef<br \/>\n      )                                                                ;setq<br \/>\n      (vla-move obj (vlax-3d-point Centroid) (vlax-3d-point &#8216;(0 0)))   ;\u79fb\u52a8\u8d28\u5fc3\u5230\u539f\u70b9<br \/>\n      (setq MomentOfInertia1 (V2L (vla-get-MomentOfInertia obj))       ;\u8d28\u5fc3\u7684\u60ef\u6027\u77e9<br \/>\n\t    ProductOfInertia1 (vla-get-ProductOfInertia obj)           ;\u8d28\u5fc3\u7684\u60ef\u6027\u79ef<br \/>\n\t    RadiiOfGyration (V2L (vla-get-RadiiOfGyration obj))        ;\u56de\u65cb\u534a\u5f84<br \/>\n      )                                                                ;setq<br \/>\n      (vla-getboundingbox obj &#8216;minpt &#8216;maxpt)                           ;\u8fb9\u754c\u6846<br \/>\n      (setq minpt (vlax-safearray-&gt;list minpt)                         ;\u5de6\u4e0b\u89d2\u70b9<br \/>\n            maxpt (vlax-safearray-&gt;list maxpt)                         ;\u53f3\u4e0a\u89d2\u70b9<br \/>\n            Wx1 (\/ (car MomentOfInertia1) (cadr minpt))                ;\u62b5\u6297\u77e9<br \/>\n\t    Wx2 (\/ (car MomentOfInertia1) (cadr maxpt))<br \/>\n\t    Wy1 (\/ (cadr MomentOfInertia1) (car minpt))<br \/>\n\t    Wy2 (\/ (cadr MomentOfInertia1) (car maxpt))<br \/>\n      )                                                                ;setq<br \/>\n      (vla-move obj (vlax-3d-point &#8216;(0 0)) (vlax-3d-point Centroid))   ;\u79fb\u56de\u539f\u6765\u4f4d\u7f6e<br \/>\n      (setq obj1 (vla-copy obj)                                        ;\u62f7\u8d1d\u7269\u4f53\u4ee5\u7528\u6765\u7b97X\u9762\u79ef\u77e9<br \/>\n            obj2 (vla-copy obj)                                        ;\u62f7\u8d1d\u7269\u4f53\u4ee5\u7528\u6765\u7b97Y\u9762\u79ef\u77e9<br \/>\n            CenX (car Centroid)<br \/>\n\t    CenY (cadr Centroid)<br \/>\n            recPt1 (list (+ CenX (car minpt) -1) CenY                  ;\u5efa\u7acb\u4e24\u4e2a\u77e9\u5f62\u9762\u57df\u7684\u70b9\u8868<br \/>\n\t                 (+ CenX (car maxpt) +1) CenY<br \/>\n\t\t         (+ CenX (car maxpt) +1) (+ CenY (cadr minpt) -1)<br \/>\n\t\t         (+ CenX (car minpt) -1) (+ CenY (cadr minpt) -1))<br \/>\n\t    recPt2 (list (+ CenX (car minpt) -1) (+ CenY (cadr minpt) -1)<br \/>\n\t\t         (+ CenX (car minpt) -1) (+ CenY (cadr maxpt) +1)<br \/>\n\t\t         CenX (+ CenY (cadr maxpt) +1)<br \/>\n\t\t         CenX (+ CenY (cadr minpt) -1))<br \/>\n            reg1 (draw-rectange recPt1)                                ;\u521b\u5efa\u9762\u57df1<br \/>\n\t    reg2 (draw-rectange recPt2)                                ;\u521b\u5efa\u9762\u57df2<br \/>\n      )<br \/>\n      (vla-boolean obj1 acSubtraction reg1)                            ;\u6c42obj1\u4e0e\u9762\u57df1\u4e4b\u5dee<br \/>\n      (vla-boolean obj2 acSubtraction reg2)                            ;\u6c42obj2\u4e0e\u9762\u57df2\u4e4b\u5dee<br \/>\n      (setq Area1 (vla-get-area obj1)                                  ;\u6c42obj1\u7684\u9762\u79ef<br \/>\n\t    Area2 (vla-get-area obj2)                                  ;\u6c42obj2\u7684\u9762\u79ef<br \/>\n\t    Centroid1 (V2L (vla-get-Centroid obj1))                    ;\u6c42obj1\u7684\u8d28\u5fc3<br \/>\n\t    Centroid2 (V2L (vla-get-Centroid obj2))                    ;\u6c42obj2\u7684\u8d28\u5fc3<br \/>\n            Sx (* Area1 (- (cadr Centroid1) (cadr Centroid)))          ;\u7ed5X\u8f74\u9762\u79ef\u77e9\uff08\u9759\u77e9\uff09<br \/>\n\t    Sy (* Area2 (- (car  Centroid2) (car  Centroid)))          ;\u7ed5Y\u8f74\u9762\u79ef\u77e9\uff08\u9759\u77e9\uff09<br \/>\n      )<br \/>\n      (vla-delete obj1)                                                ;\u5220\u9664\u9762\u57df1<br \/>\n      (vla-delete obj2)                                                ;\u5220\u9664\u9762\u57df2<br \/>\n      (list (cons &#8220;\u9762\u79ef        &#8221; Area)                                 ;\u8fd4\u56de\u5404\u79cd\u53c2\u6570\u503c<br \/>\n\t    (cons &#8220;\u5468\u957f        &#8221; Perimeter)<br \/>\n\t    (cons &#8220;\u8d28\u5fc3        &#8221; Centroid)<br \/>\n\t    (cons &#8220;X \u8f74\u4e3b\u60ef\u6027\u77e9&#8221; (car PrincipalMoments))<br \/>\n\t    (cons &#8220;X \u8f74\u60ef\u6027\u77e9  &#8221; (car MomentOfInertia1))<br \/>\n\t    (cons &#8220;Y \u8f74\u4e3b\u60ef\u6027\u77e9&#8221; (cadr PrincipalMoments))<br \/>\n\t    (cons &#8220;Y \u8f74\u60ef\u6027\u77e9  &#8221; (cadr MomentOfInertia1))<br \/>\n\t    (cons &#8220;XY\u60ef\u6027\u79ef    &#8221; ProductOfInertia1)<br \/>\n\t    (cons &#8220;X \u8f74\u4e0a\u6297\u5f2f\u8ddd&#8221; Wx2)<br \/>\n\t    (cons &#8220;X \u8f74\u4e0b\u6297\u5f2f\u8ddd&#8221; Wx1)<br \/>\n\t    (cons &#8220;Y \u8f74\u5de6\u6297\u5f2f\u8ddd&#8221; Wy1)<br \/>\n\t    (cons &#8220;Y \u8f74\u53f3\u6297\u5f2f\u8ddd&#8221; Wy2)<br \/>\n\t    (cons &#8220;X \u8f74\u9762\u79ef\u77e9  &#8221; Sx )<br \/>\n\t    (cons &#8220;Y \u8f74\u9762\u79ef\u77e9  &#8221; Sy )<br \/>\n\t    (cons &#8220;\u56de\u65cb\u534a\u5f84ix  &#8221; (car RadiiOfGyration))<br \/>\n\t    (cons &#8220;\u56de\u65cb\u534a\u5f84iy  &#8221; (cadr RadiiOfGyration))<br \/>\n\t    (cons &#8220;\u4e3b\u77e9\u65b9\u54111   &#8221; (list (car PrincipalDirections) (caddr PrincipalDirections)))<br \/>\n\t    (cons &#8220;\u4e3b\u77e9\u65b9\u54112   &#8221; (list (cadr PrincipalDirections) (cadddr PrincipalDirections)))<br \/>\n\t    (cons &#8220;\u8ddd\u5de6\u8fb9\u8ddd\u79bb  &#8221; (abs (car minpt)))<br \/>\n\t    (cons &#8220;\u8ddd\u53f3\u8fb9\u8ddd\u79bb  &#8221; (abs (car maxpt)))<br \/>\n\t    (cons &#8220;\u8ddd\u4e0a\u8fb9\u8ddd\u79bb  &#8221; (abs (cadr maxpt)))<br \/>\n\t    (cons &#8220;\u8ddd\u4e0b\u8fb9\u8ddd\u79bb  &#8221; (abs (cadr minpt)))<br \/>\n      )<br \/>\n    )<br \/>\n  )<br \/>\n)<br \/>\n;;;\u7528ActiveX\u7684\u65b9\u5f0f\u753b\u77e9\u5f62\u9762\u57df<br \/>\n(defun draw-rectange (recpts \/ pts rec reg)<br \/>\n  (setq pts (vlax-make-safearray vlax-vbdouble &#8216;(0 . 7)))<br \/>\n  (vlax-safearray-fill pts recpts)<br \/>\n  (setq rec (vla-addlightweightPolyline *MSP pts));\u521b\u5efa\u77e9\u5f62<br \/>\n  (vla-put-closed rec 1)\t\t          ;\u5c01\u95ed\u77e9\u5f62<br \/>\n  (setq reg (vla-addregion *MSP (O2L rec)))       ;\u5bf9\u77e9\u5f62\u6c42\u9762\u57df<br \/>\n  (vla-delete rec)\t\t\t          ;\u5220\u9664\u77e9\u5f62\u7684\u8f7b\u591a\u6bb5\u7ebf<br \/>\n  (car (V2L reg))                                 ;\u53d6\u5f97\u77e9\u5f62\u9762\u57df\u7269\u4f53<br \/>\n)<br \/>\n;;;ActiveX\u7684\u53d8\u91cf\u8f6c\u5316\u4e3alisp\u5217\u8868<br \/>\n(defun V2L (x)<br \/>\n  (vlax-safearray-&gt;list (vlax-variant-value x))<br \/>\n)<br \/>\n;;;\u628a\u9009\u62e9\u96c6\u7684\u7269\u4f53\u8f6c\u5316\u4e3a\u5b89\u5168\u6570\u7ec4<br \/>\n(defun S2A (ss \/ i l objs curves)<br \/>\n  (setq i -1 l (sslength ss) objs nil)<br \/>\n  (repeat l<br \/>\n    (setq objs (cons (vlax-ename-&gt;vla-object (ssname ss (setq i (1+ i)))) objs))<br \/>\n  )<br \/>\n  (setq curves (vlax-make-safearray vlax-vbobject (eval &#8216;(cons 0 (1- l)))))<br \/>\n  (vlax-safearray-fill curves objs)<br \/>\n)<br \/>\n;;;\u628a\u9009\u62e9\u96c6\u7684\u7269\u4f53\u8f6c\u5316\u4e3aLisp\u8868<br \/>\n(defun S2L (ss \/ i l objs)<br \/>\n  (setq i -1 l (sslength ss) objs nil)<br \/>\n  (repeat l<br \/>\n    (setq objs (cons (vlax-ename-&gt;vla-object (ssname ss (setq i (1+ i)))) objs))<br \/>\n  )<br \/>\n)<br \/>\n;;;\u7269\u4f53\u7ec4\u6210lisp\u5217\u8868<br \/>\n(defun O2L (obj \/ curves)<br \/>\n  (setq curves (vlax-make-safearray vlax-vbobject &#8216;(0 . 0)))<br \/>\n  (vlax-safearray-fill curves (list obj))<br \/>\n)<br \/>\n;;;\u6253\u5370\u622a\u9762\u8868\u5e76\u8ba1\u6570<br \/>\n(defun GetNum (regobjs Num \/ Number reglst)<br \/>\n  (setq Number Num)                               ;\u8ba1\u6570\u5f52\u96f6<br \/>\n  (foreach obj regobjs<br \/>\n    (setq reglst (mas obj))                       ;\u5bf9\u5176\u5206\u522b\u6c42\u503c<br \/>\n    (princ obj)\t\t\t\t          ;\u6253\u5370region\u540d<br \/>\n    (princ &#8220;\\n\u4e0b\u9762\u4e3a\u8be5\u7269\u4f53\u7684\u53c2\u6570\u7684\u5217\u8868: &#8220;)<br \/>\n    (foreach n reglst (princ &#8220;\\n&#8221;) (princ n))     ;\u6253\u5370region\u53c2\u6570\u8868<br \/>\n    (setq Number (1+ Number))                     ;\u8ba1\u6570\u7d2f\u52a0<br \/>\n  )<br \/>\n)<br \/>\n;;;\u8868\u8f6c\u5316\u6210\u5b57\u7b26\u4e32<br \/>\n(defun L2S (lst \/ s)<br \/>\n  (setq\ts<br \/>\n\t (apply<br \/>\n\t   &#8216;strcat<br \/>\n\t   (mapcar &#8216;(lambda(x)(strcat (rtos x) &#8221; &#8220;)) lst)<br \/>\n\t )<br \/>\n  )<br \/>\n  (setq s (substr s 1 (1- (strlen s))))<br \/>\n  (strcat &#8220;(&#8221; s &#8220;)&#8221;)<br \/>\n)<br \/>\n;;;\u5199\u6570\u636e\u51fd\u6570<br \/>\n(defun WrData (regobjs Num \/ Number reglst string str1 str2 str)<br \/>\n  (setq Number Num)                               ;\u8ba1\u6570\u5f52\u96f6<br \/>\n  (foreach obj regobjs<br \/>\n    (setq reglst (mas obj))                       ;\u5bf9\u5176\u5206\u522b\u6c42\u503c<br \/>\n    (setq Number (1+ Number))                     ;\u8ba1\u6570\u7d2f\u52a0<br \/>\n    (write-line &#8220;***********************************&#8221; file)<br \/>\n    (setq string (strcat &#8220;\u622a\u9762&#8221; (itoa Number) &#8220;\u7684\u53c2\u6570\u8868:&#8221;))<br \/>\n    (write-line string file)                      ;\u5199\u5165region\u540d<br \/>\n    (foreach n reglst<br \/>\n      (setq str1 (car n))                         ;\u53c2\u6570\u540d\u79f0<br \/>\n      (if (listp (setq str2 (cdr n)))             ;\u53c2\u6570\u503c<br \/>\n\t(setq str2 (L2S str2))<br \/>\n\t(setq str2 (rtos str2))<br \/>\n      )<br \/>\n      (setq str (strcat str1 &#8220;: &#8221; str2))<br \/>\n      (write-line str file)                       ;\u5199\u5165region\u53c2\u6570\u8868<br \/>\n    )<br \/>\n  )<br \/>\n  Number<br \/>\n)<br \/>\n;;;\u4ee5\u4e0b\u6d4b\u8bd5\u7a0b\u5e8f<br \/>\n(defun C:test (\/ *APP *DOC *MSP i j ss ss1 err objlst REGs W&amp;P OLDCMD OldUcs file)<br \/>\n  (vl-load-com)<br \/>\n  (setq\t*APP (vlax-get-acad-object)<br \/>\n\t*DOC (vla-get-activeDocument *APP)<br \/>\n\t*MSP (vla-get-Modelspace *DOC)<br \/>\n  )<br \/>\n  (princ)<br \/>\n  (if (setq ss (ssget))                           ;\u5efa\u7acb\u9009\u62e9\u96c6<br \/>\n    (progn<br \/>\n      (initget 1 &#8220;W P&#8221;)                           ;\u9009\u62e9\u5199\u5165\u6587\u4ef6\u6216\u5c4f\u5e55\u6253\u5370<br \/>\n      (setq W&amp;P (getkword &#8220;\\n\u786e\u5b9a\u8f93\u51fa\u6570\u636e\u65b9\u5f0f:\\n\u5199\u5165\u6587\u4ef6[W]\u6216\u5c4f\u5e55\u6253\u5370[P])?&#8221;))<br \/>\n      (princ &#8220;\\n&#8221;)<br \/>\n      (setq OLDCMD (getvar &#8220;CMDECHO&#8221;))<br \/>\n      (setvar &#8220;CMDECHO&#8221; 0)<br \/>\n      ;;(command &#8220;.UCS&#8221; &#8220;W&#8221;)<br \/>\n      (uu 1)<br \/>\n      (setq objlst (S2A ss))                      ;\u9009\u62e9\u96c6\u5217\u8868<br \/>\n      (if (setq ss1 (ssget &#8220;P&#8221; &#8216;((0 . &#8220;REGION&#8221;))));\u9009\u62e9\u96c6\u4e2d\u5df2\u6709\u7684region<br \/>\n\t(setq i (if (= W&amp;P &#8220;P&#8221;)                   ;\u8ba1\u7b97\u5e76\u6c42\u51faregion\u6570\u76ee<br \/>\n\t\t  (GetNum (S2L ss1) 0)<br \/>\n\t\t  (progn<br \/>\n\t\t    (setq file (open &#8220;C:\\\\\u622a\u9762\u51e0\u4f55\u53c2\u6570.TXT&#8221;&#8221;W&#8221;));\u6253\u5f00\u6587\u4ef6<br \/>\n                    (Wrdata (S2L ss1) 0)<br \/>\n\t\t  )<br \/>\n\t\t)<br \/>\n\t)<br \/>\n\t(setq i 0)<br \/>\n      )<br \/>\n      (defun addreg ()<br \/>\n\t(setq REGs (vla-addregion *MSP objlst))<br \/>\n      )<br \/>\n      (setq err (vl-catch-all-apply &#8216;addreg))     ;\u5efa\u7acb\u533a\u57df\u5e76\u51fa\u9519\u68c0\u6d4b<br \/>\n      (if (vl-catch-all-error-p err)              ;\u5982\u679c\u6ca1\u6709\u65b0\u5efa\u4efb\u4f55region<br \/>\n        (setq j 0)                                ;\u5219\u8ba1\u6570\u4e3a0<br \/>\n\t(setq REGs (V2L REGs)                     ;\u5426\u5219\u8f6c\u5316\u6210region\u96c6\u5408<br \/>\n              i (if (= W&amp;P &#8220;P&#8221;)                   ;\u8ba1\u7b97\u5e76\u6c42\u51faregion\u6570\u76ee<br \/>\n\t\t  (GetNum REGs i)<br \/>\n\t\t  (progn<br \/>\n\t\t    (setq file (open &#8220;C:\\\\\u622a\u9762\u51e0\u4f55\u53c2\u6570.TXT&#8221;&#8221;A&#8221;));\u6253\u5f00\u6587\u4ef6<br \/>\n\t\t    (Wrdata REGs i)<br \/>\n\t\t  )<br \/>\n\t\t)<br \/>\n\t      j (mapcar &#8216;vla-delete REGs)         ;\u5220\u9664\u521a\u5efa\u7acb\u7684\u622a\u9762<br \/>\n\t)<br \/>\n      )<br \/>\n      (close file)                                ;\u5173\u95ed\u6587\u4ef6<br \/>\n      (if (\/= 0 i)<br \/>\n\t(progn<br \/>\n          (princ &#8220;\\n\\n\u5df2\u7ecf\u5217\u51fa&#8221;)<br \/>\n          (princ i)<br \/>\n          (princ &#8220;\u4e2a\u622a\u9762\u51e0\u4f55\u53c2\u6570\u8868.&#8221;)<br \/>\n\t)<br \/>\n\t(alert &#8220;\u6ca1\u6709\u9009\u4e2d\u6709\u6548\u7684\u622a\u9762!&#8221;)<br \/>\n      )<br \/>\n      ;;(command &#8220;.UCS&#8221; &#8220;P&#8221;)<br \/>\n      (uu 0)<br \/>\n      (setvar &#8220;CMDECHO&#8221; OLDCMD)<br \/>\n    )<br \/>\n    (alert &#8220;\u4f60\u6ca1\u6709\u9009\u4e2d\u7269\u4f53! &#8220;)<br \/>\n  )<br \/>\n  (gc)<br \/>\n  (princ)<br \/>\n)<br \/>\n(defun uu (T&amp;F \/ WCSOrg WCSXDr WCSYDr WCSObj OldOrg OldXDr OldYDr *UTI *UCS)<br \/>\n  (setq *UTI (vla-get-Utility *DOC)                             ;\u53d6\u5f97Utility\u96c6<br \/>\n\t*UCS (vla-get-UserCoordinateSystems *DOC)               ;\u53d6\u5f97UCS\u96c6<br \/>\n  )<br \/>\n  (setq WCSOrg (vlax-3d-point &#8216;(0 0 0)))                        ;WCS\u539f\u70b9<br \/>\n  (setq WCSXDr (vlax-3d-point &#8216;(1 0 0)))<br \/>\n  (setq WCSYDr (vlax-3d-point &#8216;(0 1 0)))<br \/>\n  (setq WCSObj (vla-add *UCS WCSOrg  WCSXDr WCSYDr &#8220;WCS&#8221;))<br \/>\n  (if (= T&amp;F 1)<br \/>\n    (progn<br \/>\n      (if (= (getvar &#8220;UCSNAME&#8221;) &#8220;&#8221;)                             ;\u5f53\u524dUCS\u540d,\u5982\u679c\u672a\u547d\u540d,\u5219<br \/>\n        (progn<br \/>\n          (setq OldOrg (vla-GetVariable *DOC &#8220;UCSORG&#8221;)          ;\u53d6\u5f53\u524dUCS\u539f\u70b9<br \/>\n  \t        OldXDr (vla-getVariable *DOC &#8220;UCSXDIR&#8221;)         ;\u53d6\u5f53\u524dX\u65b9\u5411<br \/>\n\t        OldYDr (vla-getVariable *DOC &#8220;UCSYDIR&#8221;)         ;\u53d6\u5f53\u524dY\u65b9\u5411<br \/>\n\t        OldUcs (vla-add *UCS WCSOrg OldXDr OldYDr &#8220;OLD&#8221;);\u5efa\u7acb\u5f53\u524dUCS,\u4f46\u539f\u70b9\u5728'(0,0,0)\u5904<br \/>\n          )<br \/>\n          (vla-put-origin OldUcs OldOrg)                        ;\u6539\u53d8\u539f\u70b9\u4e3a\u5f53\u524dUCS\u539f\u70b9<br \/>\n        )<br \/>\n        (setq OldUcs (vla-get-ActiveUcs *DOC))                  ;\u5982\u679c\u5df2\u7ecf\u547d\u540d,\u5219\u53d6\u5f97UCS\u7269\u4f53<br \/>\n      )<br \/>\n      (vla-put-ActiveUcs *DOC WCSobj)<br \/>\n    )<br \/>\n    (vla-put-ActiveUcs *DOC OldUcs)<br \/>\n  )<br \/>\n  OldUcs<br \/>\n)<br \/>\n[\/codesyntax]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[codesyntax lang=&#8221;lisp&#8221; lines_start=&#8221;<\/p>\n<p class=\"more-link\"><a href=\"https:\/\/www.highflybird.com\/blog\/?p=1898\" class=\"themebutton2\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-1898","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1898"}],"version-history":[{"count":0,"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1898\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.highflybird.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}