¸®½À °­Á - Activex ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ÇÞÄ¡ÀÇ °í¸³¿µ¿ª ŽÁöÀ¯Çü Àû¿ë ¹× ÀÌÇØ.


º» °­Á´ ¾ÆÅ°¿ÀÇǽº(±èÈñÅÂ)¿¡ ÀÇÇØ ¸¸µé¾î Á³À¸¸ç
¾î¶°ÇÑ À¥»ó¿¡ ¾ÆÅ°¿ÀÇǽº(±èÈñÅÂ)ÀÇ µ¿ÀǾøÀÌ ¿Ã¸®´Â °ÍÀ» Çã¶ôÇÏÁö ¾Ê½À´Ï´Ù.

 

°í¸³¿µ¿ª ŽÁö À¯Çü¿¡ µû¶ó ÇÞÄ¡ÀÇ ½ºÅ¸ÀÏÀÌ ¹Ù²ñ´Ï´Ù.
ÀÌ·± °í¸³¿µ¿ª ŽÁö À¯ÇüÀ» ¸®½À¿¡¼­ ¾î¶»°Ô ±¸ÇöÇÏ´ÂÁö º¸½Ã±â ¹Ù¶ø´Ï´Ù.
ÀÌ ¿¹Á¦´Â ´ÜÁö ÀÌÇØ¸¦ ¸ñÀûÀ¸·Î ¸¸µç ¸®½ÀÀÔ´Ï´Ù.

¸®½À °øºÎ¿¡ µµ¿ò µÇ½Ã±æ....


¾Æ·¡Ã³·³ ÇÞÄ¡ÇÒ ¿µ¿ªÀ¸·Î Æ÷ÀÎÆ®¸¦ ½ÊÀÚ¸¶Å©À§Ä¡¿¡¼­ Ŭ¸¯ ÇßÀ»¶§

(hatch-test  point  ÇÞġä¿òŸÀÔ¹øÈ£)
0 = acHatchStylenormal => ³»¿ÜºÎ ä¿ò ¹æ½Ä
1 = acHatchStyleouter => ¿ÜºÎ¸¸ ä¿ò ¹æ½Ä
2 = acHatchStyleignore => Àüü ä¿ò ¹æ½Ä



(hatch-test (getpoint) 2) =>Àüü ä¿ò ŸÀÔ


(hatch-test (getpoint) 1) => ¿Ü°û¸¸ ä¿ò ŸÀÔ
¾Æ·¡±×¸²Ã³·³ µÇ¾ß ÇÏÁö¸¸ Àüü ä¿òÀÌ µÊ.
vbaÀÇ ¶È°°Àº ¿¹Á¦µµ ÇØº¸¾ÒÀ¸³ª ¸¶Âú°¡Áö·Î Àüüä¿òÀÌ µÊ.
activex ÀÇ ¹ö±× °°À½!!


(hatch-test (getpoint) 0) => ³»¿ÜºÎ ä¿ò ŸÀÔ

ÄÚµå



  (defun hatch-test (point HatchStyle / ex lapp sa saout acadobject acaddocument mspace n myhatch)
    (setq ex (entlast))
    (command "boundary" point "")
    (if (not (equal ex (entlast)))
      (progn
        (while (setq ex (entnext ex))
          (setq lapp (cons ex lapp))
        )
        (vl-load-com)
        (setq acadObject   (vlax-get-acad-object))
        (setq acadDocument (vla-get-ActiveDocument acadObject))
        (setq mSpace       (vla-get-ModelSpace acadDocument))
        (setq myhatch (vlax-invoke-method mspace 'Addhatch 0 "ansi31" :vlax-false))
        (vla-put-patternscale myhatch 1)
       	(setq sa (vlax-make-safearray vlax-vbObject '(0 . 0) ))
        (setq saout (vlax-make-safearray vlax-vbObject '(0 . 0)))
        (vlax-safearray-put-element saout 0 (vlax-ename->vla-object (nth 0 lapp)))
        (vla-appendouterloop myhatch saout)
        (setq n 1)
        (repeat (1- (length lapp))
          (vlax-safearray-put-element sa 0 (vlax-ename->vla-object (nth n lapp)))
          (vla-AppendinnerLoop myhatch sa)
          (setq n (1+ n))
        )  
        (vla-put-hatchstyle myhatch HatchStyle);acHatchStylenormal
        (vla-Evaluate myhatch)
        (vla-regen acadDocument acActiveViewport)
        (mapcar 'entdel lapp)
      )
    )
    (princ)
  )

¼³¸í


  (defun hatch-test (point HatchStyle / ex lapp sa saout acadobject acaddocument mspace n myhatch)
    (setq ex (entlast))
    ;; ¿µ¿ªµéÀ» »ý¼ºÇÑ´Ù.
    (command "boundary" point "")
    (if (not (equal ex (entlast)))
      (progn
        ;; ¿µ¿ªµéÀ» ¸ðÀº´Ù.
        (while (setq ex (entnext ex))
          (setq lapp (cons ex lapp))
        )
        (vl-load-com)
        (setq acadObject   (vlax-get-acad-object))
        (setq acadDocument (vla-get-ActiveDocument acadObject))
        (setq mSpace       (vla-get-ModelSpace acadDocument))
        ;; ÇÞÄ¡ ¿ÀºêÀèÆ®¸¦ ¸¸µç´Ù.
        (setq myhatch (vlax-invoke-method mspace 'Addhatch 0 "ansi31" :vlax-false))
        ;; ÆÐ´ø scale ¸¦ Á¤ÇÑ´Ù.
        (vla-put-patternscale myhatch 1)
        ;; ³»ºÎ·çÇÁ(³»ºÎ¿µ¿ª)¸¦ ÀúÀåÇÒ º¯¼ö¸¦ ¸¸µç´Ù.
       	(setq sa (vlax-make-safearray vlax-vbObject '(0 . 0) ))
        ;; ¿ÜºÎ·çÇÁ(¿ÜºÎ¿µ¿ª)¸¦ ÀúÀåÇÒ º¯¼ö¸¦ ¸¸µç´Ù.
        (setq saout (vlax-make-safearray vlax-vbObject '(0 . 0)))
        ;; °¡Àå ¹Ù±ùÀÇ ·çÇÁ¸¦ appendouterloop ÇÔ¼ö·Î ÇÞÄ¡ ¿ÀºêÀèÆ®¿¡ Ãß°¡ÇÑ´Ù.
        (vlax-safearray-put-element saout 0 (vlax-ename->vla-object (nth 0 lapp)))
        (vla-appendouterloop myhatch saout)
        ;; ³ª¸ÓÁö ³»ºÎ·çÇÁ¸¦ AppendinnerLoop ÇÔ¼ö·Î °¢°¢ ÇÞÄ¡ ¿ÀºêÀèÆ®¿¡ Ãß°¡ ÇÑ´Ù.
        (setq n 1)
        (repeat (1- (length lapp))
          (vlax-safearray-put-element sa 0 (vlax-ename->vla-object (nth n lapp)))
          (vla-AppendinnerLoop myhatch sa)
          (setq n (1+ n))
        )  
        ;; ÇÞÄ¡ style ¸¦ Àû¿ëÇÑ´Ù.
        ;; 0 = acHatchStylenormal => ³»¿ÜºÎ ä¿ò ¹æ½Ä
        ;; 1 = acHatchStyleouter  => ¿ÜºÎ¸¸ ä¿ò ¹æ½Ä
        ;; 2 = acHatchStyleignore => Àüü ä¿ò ¹æ½Ä
        (vla-put-hatchstyle myhatch HatchStyle)
        ;; ÇÞÄ¡¸¦ Æò°¡ÇÏ¿© °»½ÅÇÑ´Ù.
        (vla-Evaluate myhatch)
        ;; regen À¸·Î ÇÞÄ¡¸¦ Ãâ·ÂÇÑ´Ù.
        (vla-regen acadDocument acActiveViewport)
        ;; »ý¼ºµÈ ¿µ¿ªµéÀ» »èÁ¦ÇÑ´Ù.
        (mapcar 'entdel lapp)
      )
    )
    (princ)
  )