VLISPで交点を求める


VLISP使えばポリラインでも円弧でも何でもござれ。
VBA使えばいいじゃん!という突っ込みはなし。

(vl-load-com)
(defun test(
E_NAME1
E_NAME2
/
PT
)
(setq E_NAME1 (vlax-ename->vla-object E_NAME1))
(setq E_NAME2 (vlax-ename->vla-object E_NAME2))
(setq PT (vlax-invoke-method E_NAME1 'IntersectWith E_NAME2 acExtendNone))
(vlax-safearray->list (vlax-variant-value PT))
)
  1. #1 by オリバー君 - 2月 15th, 2006 at 21:38

    VBAのIntersectWithってなんだか使う気がなくなりました。
    http://acesekkei.com/forum/wforum.cgi?mode=allread&no=1721&page=40
    VLISPでの精度はいかがでしょうか。

  2. #2 by liki - 2月 15th, 2006 at 22:07

    VLISPといっても(vlax-invoke-method)でVBAを使ってるので一緒ですよ。
    確かにリンク先のデータで試すと交差していそうな点を
    2回拾いますね。
    地道に交点拾うしかないかもね。
    スプライン無視すれば基本的に線分、(楕)円(弧)しか
    ないからね。

  3. #3 by liki - 2月 15th, 2006 at 22:22

    ちなみに参考です。izawaさんち。
    http://izawa.icadweb.com/icadlisp.htm
    下から1/4辺り。

  4. #4 by ゆり - 2月 16th, 2006 at 21:15

    本当だ~。
    気をつけようっと。

  5. #5 by liki - 2月 18th, 2006 at 11:05

    http://www.hptown.com/ucad/index3.htm
    ここが参考になるね。

  6. #6 by オリバー君 - 2月 18th, 2006 at 21:31

    情報ありがとうございます。
    今となっては詮なきことですが、
    明確な目的をもっていれば、数学って
    ちゃんと学べるものだったんだなぁと、
    いまさら思います。

  7. #7 by liki - 2月 18th, 2006 at 22:23

    数学にちょっと興味あるならこれどうぞ。
    http://www.amazon.co.jp/exec/obidos/ASIN/4480086757/
    相対性理論のE=mc^2以上に美しい公式のおはなし。

(will not be published)

  1. No trackbacks yet.