• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

ポリリナが境界するエリアの中心

  • Thread starter Thread starter arri
  • Start date Start date

arri

Guest
inserisce un punto nel centroide delle geometrie selezionate (le polilinee devono essere chiuse)



Code:
(defun c:polycen (/ polyset polylist model newpl obarr newreg newpt) 
  (princ "\n*** select closed polylines *** ") 
  (if 
  (setq polyset(ssget '((0 . "lwpolyline")))) 
   (progn 
     (setq polylist(mapcar 'vlax-ename->vla-object 
                            (vl-remove-if 'listp 
                              (mapcar 'cadr(ssnamex polyset)))) 
      model(vla-get-modelspace 
         (vla-get-activedocument 
           (vlax-get-acad-object))) 
      ); end setq 
     (foreach p polylist 
       (if(= :vlax-true(vla-get-closed p)) 
    (progn 
       (setq newpl(vla-copy p) 
        obarr(vlax-make-safearray vlax-vbobject '(0 . 0)) 
        ); end setq 
       (vlax-safearray-put-element obarr 0 newpl) 
       (setq newreg(car(vlax-safearray->list 
           (vlax-variant-value 
             (vla-addregion model obarr)))) 
             newpt(vlax-3d-point 
          (append 
          (vlax-safearray->list 
            (vlax-variant-value 
         (vla-get-centroid newreg)))(list 0.0))) 
    ); end setq 
       (vla-addpoint model newpt) 
       (vla-delete newpl)(vla-delete newreg) 
       ); end progn 
    ); end if 
       ); end foreach 
     ); end progn 
  (princ "\n*** notning closed polylines selected! *** ") 
  ); end if 
  (princ) 
  ); end of c:polycen
(vl-load-com)

segnalato da antoniovinci
 
Last edited:

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top