「Tin:drapebyentity」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{BCAD_LISP_CIVIL}} ; 構文 : (Tin:drapebyentity ''tinEname'' ''entity'' ) ; 機能 : エンティティから入力された輪郭を tinEname TinSurface エンテ…」)
 
編集の要約なし
32行目: 32行目:
(tin:addpoints tin '((10 80 5) (50 50 10) (10 10 2) (80 20 7) (70 60 3) (40 70 10) (25 25 6) (55 55 2) (75 45 5) ))
(tin:addpoints tin '((10 80 5) (50 50 10) (10 10 2) (80 20 7) (70 60 3) (40 70 10) (25 25 6) (55 55 2) (75 45 5) ))


; Tinサーフェスに重なる円を作ってから
(command "_circle" "80,20" "25") ; Tinサーフェスに重なる円を作ってから
 
(tin:drapebyentity  tin (entlast))
(tin:drapebyentity  tin (entlast))
((
((
  (54.6855299715476 16.3836471387925 5.19182356939625)  
  (55.2609645895466 16.4658520842209 5.23292604211047)
  (54.6732610418118 16.4565138995913 5.20794387319958)
  (55.1571947526689 17.2008880974173 5.39631541812662)
  (54.5154743932304 17.869517754615  5.52365860384348)  
  (55.0393296245545 18.5982388190702 5.71001721640978)
  (54.4364589528406 19.2891068081662 5.84393662113722)  
  (54.9999999999999 20.0 6.02777777777778)
  (54.4364589528406 20.7108931918338 6.16778796408372)  
  (55.0393296245545 21.4017611809298 6.34859730994446)
  (54.5154743932304 22.130482245385  6.4942116267411)  
  (55.1119364000693 22.2625512363573 6.54748975272853)
  (54.5360681910543 22.3149028917223 6.53701942165553)  
  (55.1571947526689 22.7991119025827 6.61860038991582)
  (54.6732610418118 23.5434861004087 6.70085102430749)  
  (55.353224537044 24.1876555826184 6.80499196185172)
  (54.9093311890965 24.945537242965  6.89019977725835)  
  (55.6268021954544 25.5630233489079 6.99199710122165)
  (55.222955155788  26.3323020133205 7.0798879164053)  
  (55.9770669513725 26.9208877856212 7.17902742067194)
  (55.6131635481781 27.6994940010423 7.26932912658085)  
  (56.4029167422908 28.2569765488792 7.36549445362302)
  (56.0787502544879 29.042887294047  7.45793785586075)  
  (56.9030116872178 29.5670858091273 7.55081150580308)
  (56.6182761728901 30.3583295406526 7.64513112547154)  
  (57.4757783024395 30.847093477939 7.73439550120525)
  (57.2300736596896 31.6417547842598 7.83033033174447)  
  (58.1194144522811 32.092972177631 7.91566881666046)
  (57.9122516839156 32.8891960309908 8.01296303454627)  
  (58.8318950192929 33.3008019128834 8.09406109925363)
  (58.6627016723891 34.0967975114397 8.19246472665884)  
  (59.6109782760185 34.4667824044952 8.26901106086493)
  (59.4791040272024 35.2608265986354 8.36828057863868)  
  (60.4542129382992 35.5872450464684 8.43996824418987)
  (60.3589352954629 36.3776853453772 8.53986715376293)  
  (61.3589458779208 36.6586644488001 8.60639475468164)
  (61.2994759691414 37.4439216052835 8.70669408776109)  
  (62.3223304703363 37.6776695296637 8.76776695296637)
  (61.9234101503808 38.0765898496192 8.80765898496192)  
  (63.3413355511999 38.6410541220792 8.41806773572013)
  (62.2978188909157 38.4562397031784 8.67596078664667)  
  (64.4127549535316 39.5457870617008 8.06390675274278)
  (63.3508782400275 39.4115106218349 8.31961356826447)  
  (65.5332175955048 40.3890217239815 7.70639832551372)
  (64.4553990703769 40.3067816735877 7.95918749996674)  
  (66.6991980871166 41.1681049807071 7.34666730781038)
  (65.6079673713749 41.1392856269219 7.59579663807542)  
  (67.907027822369 41.8805855477189 6.98584554650212)
  (66.805020620454  41.9064492598265 7.23056420291953)
  (69.152906522061 42.5242216975605 6.6250683203412)
  (68.0428587946218 42.6059013134767 6.8646191070255)  
  (70.4329141908727 43.0969883127822 6.26547076795586)
  (69.3176558070195 43.2354798216584 6.4990924657133)
  (71.7430234511208 43.5970832577092 5.90818431628417)
  (70.6254713331375 43.7932387932827 6.13511410088374)
  (73.0791122143788 44.0229330486275 5.55433312068634)
  (71.9622629901322 44.277454227332  5.77380904880375)
  (74.4369766510921 44.3731978045456 5.20503052793607)
  (73.3238988316005 44.686629441649  5.41629408268375)
  (75.0990226131649 44.5048869341757 5.03960904526595)
  (74.7061701191885 45.0194996990952 5.06367426079568)  
  (74.8087722639389 45.0382455472122 5.03824554721222)
  (74.8928032636649 45.0535983681675 4.98392048954974)
  (74.9770058221225 45.0689825336326 4.99080232884899)
))
))
; ラスタライズされた円からの返り値なので、点が多数ある形になる。
; ラスタライズされた円からの返り値なので、点が多数ある形になる。


(command "_rectang" "0,0" "100,100"); Tinサーフェスを囲むような矩形を作ってから
(tin:drapebyentity  tin (entlast))
nil ; 境界線に重なりがないのでnilになる
</pre>
</pre>



2022年10月21日 (金) 03:39時点における版

構文
(Tin:drapebyentity tinEname entity )


機能
エンティティから入力された輪郭を tinEname TinSurface エンティティにドレープ(投影)する。


引数
  • tinEname : 問い合わせる TinSurface エンティティの ename または vla-object
  • entity : TinSurface に投影される 2D/3D の点リストのリスト


戻り値
閉じたポリゴン輪郭の点リストのリスト、またはNIL


  • メモ :

円弧、円、ポリラインなど、あらゆる「曲線」ベースのエンティティを使用することができ、エンティティは自動的にラスタライズされる。 返されるリストは、1つ以上のポリゴンポイントリストを含むことができる。 tin:drape 関数も参照。


サンプル

(vl-load-tin)
(setq tin (tin:createTin '(0 0 0) '(100 100 100) 1000))
(tin:addpoints tin '((10 80 5) (50 50 10) (10 10 2) (80 20 7) (70 60 3) (40 70 10) (25 25 6) (55 55 2) (75 45 5) ))

(command "_circle" "80,20" "25") ; Tinサーフェスに重なる円を作ってから

(tin:drapebyentity  tin (entlast))
((
  (55.2609645895466 16.4658520842209 5.23292604211047)
  (55.1571947526689 17.2008880974173 5.39631541812662)
  (55.0393296245545 18.5982388190702 5.71001721640978)
  (54.9999999999999 20.0 6.02777777777778)
  (55.0393296245545 21.4017611809298 6.34859730994446)
  (55.1119364000693 22.2625512363573 6.54748975272853)
  (55.1571947526689 22.7991119025827 6.61860038991582)
  (55.353224537044 24.1876555826184 6.80499196185172)
  (55.6268021954544 25.5630233489079 6.99199710122165)
  (55.9770669513725 26.9208877856212 7.17902742067194)
  (56.4029167422908 28.2569765488792 7.36549445362302)
  (56.9030116872178 29.5670858091273 7.55081150580308)
  (57.4757783024395 30.847093477939 7.73439550120525)
  (58.1194144522811 32.092972177631 7.91566881666046)
  (58.8318950192929 33.3008019128834 8.09406109925363)
  (59.6109782760185 34.4667824044952 8.26901106086493)
  (60.4542129382992 35.5872450464684 8.43996824418987)
  (61.3589458779208 36.6586644488001 8.60639475468164)
  (62.3223304703363 37.6776695296637 8.76776695296637)
  (63.3413355511999 38.6410541220792 8.41806773572013)
  (64.4127549535316 39.5457870617008 8.06390675274278)
  (65.5332175955048 40.3890217239815 7.70639832551372)
  (66.6991980871166 41.1681049807071 7.34666730781038)
  (67.907027822369 41.8805855477189 6.98584554650212)
  (69.152906522061 42.5242216975605 6.6250683203412)
  (70.4329141908727 43.0969883127822 6.26547076795586)
  (71.7430234511208 43.5970832577092 5.90818431628417)
  (73.0791122143788 44.0229330486275 5.55433312068634)
  (74.4369766510921 44.3731978045456 5.20503052793607)
  (75.0990226131649 44.5048869341757 5.03960904526595)
))
; ラスタライズされた円からの返り値なので、点が多数ある形になる。

(command "_rectang" "0,0" "100,100"); Tinサーフェスを囲むような矩形を作ってから
(tin:drapebyentity  tin (entlast))
nil ; 境界線に重なりがないのでnilになる

関連事項