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

回転(翻訳)でコピー

  • Thread starter Thread starter Gio_S
  • Start date Start date

Gio_S

Guest
私はそれが怠惰ではなく、多分彼の頭の中で幾何学を持っている人のために、それは時間の四半期だった...私は2営業日になるだろう(少なくとも)
問題(単純なポイントのルーチンだけでなく、グレード応答) :
3d 表面から成る 3d 表面を取って下さい
床にアーティキュレーション, 私は例を作る, その刻まれた茎で立方体内の気質の一部 .... .
そして...。
シリンダーの周りの各面を回転/トランスレーションし、回転に取り組む3dスタンプ(上張り機からタイプローラー)として作成します。
結果はモジュラーであり、反復的である必要があるので、表面の長さはシリンダー*怠惰の直径と等しいです。
私はたくさん尋ねることを理解しています:)
模型から「タイプ」をつくり、床に置いたモールド材に3d面をつくります。
 
私は忘れました...純粋なリスペスでは、vbaと同様のために装備されていません
私は最も小学校と古典的な方法でポイントを開発し始めた、私はポイントの回転によって形成されるアークの長さ(図面が嘘をつく平面上のx平坦である)、その角度は、それぞれzとx新しい作成したポイント(シリンダーの軸線がベクトル0.1,0を持っているので、)を見つける。 . . .
お問い合わせ
 
今日の1時間と1時間半。すべての誤ったが、画面上の古典的な「hello world」と等しい
したがって、私は単純なラインを使い始めるためには、正のダイヤル(または0,0)の側面= pi
私はコマンドを与え、私は、シリンダー上で回転するノンルを仮定し、90度のスパイクで
(シーケンス開発を参照してください。.. 1 赤は元のだった, 1 作成されたライン黒)
一方、休息して、彼は思春期を聞かせて、それから私はそれを手に取ります、しかし3dfaceが散らばって、それはより合法になります。
それがすべて間違っていることをクリア, 負の文字盤値を検討しません... そして、私は彼が90度にすべてを集中した理由(今のために)pallidestの考えを持っていません... しかし、(偽の比率)とお祝い, あります.Immagine.JPG
Code:
(デファンhprint())
(setq の selez nil)
(setq の selez (ssget))))
(/= selez nil の場合)
(プログ)
(setq l (sslength の selez))
(setq l (1- l)))
(Sectq na 0)
(ただし、< = na l)
(setq ename(sname selez na))) )
(setq alist(エントリ名)))
(例: "line"(cdr(assoc 0 alist))))))
(プログ)
(setq a(cdr(assoc 10 alist)))))))))
(setq b(cdr(assoc 11 alist)))))))))
(setq ax (車 a) ay (cadr a) az (caddr a))
(setq bx (car b) による (cadr b) bz (caddr b))))
; シリンダーが 1 であるように、テープを包まれるようにより多くの開発するように仮定されて
;1415926535
(setq angrada (/ax pi))
(setq angradb (/bx pi)))

(setq newaz) は
(setq newax (cos angrada) ) は、
(setq neway ay);可読性だけ

(setq newbz (sin angradb)) (setq newbz (sin angradb))) (setq newbz (sin angradb))) (setq newbz (sin angradb)))) (setq newbz (sin angradb))) (setq newbz (sin angradb))) (setq newbz (sin angradb))) (setq newbz (sin (sin angradb))))
(setq newbx (cos angradb)) は、
(setq newby by) ; 読み込みのみ

(setq newa (list newax neway newaz) ) )
(setq newb (list newbx newby newbz) ) )
(コマンド "line" newa ")
)
)
(Sectq na(1+ na)))
)
)
)
)
 
私は近づいてきています、コードは私が何をしているのかを知らずに私の鼻に少し書き直します。
しかし、それは機能しますが、私は削除したい義務で。
"ship"、すなわち、植物の長さは、正確にローラーを形成する回転しなければならない3dfaceに構築され、このコードでは、正確に長くなければならない(pi * 多く * 2)すなわち、ほぼ20。
自分の目的がすべて正しいとしても、自由になりたいです。
お問い合わせ 対応するクローズリングを形成するプラントが一体化したことをお詫び申し上げます。
Clipboard01.jpg
Code:
(デファンhprint())
(setq の selez nil)
(setq の selez (ssget))))
(/= selez nil の場合)
(プログ)
(setq l (sslength の selez))
(setq l (1- l)))
(Sectq na 0)
(ただし、< = na l)
(setq ename(sname selez na))) )
(setq alist(エントリ名)))
(例: "3dface"(cdr(assoc 0 alist))))))
(プログ)
(setq a (cdr(assoc 10 alist)))) b (cdr(assoc 11 alist) c (cdr(assoc 12 alist)))) d (cdr(assoc 13 alist))))))))))))))

(setq ax (車 a) ay (cadr a) az (caddr a)) )
(setq bx (car b) による (cadr b) bz (caddr b) )
(setq cx (カー c) cy (cadr c) チェコ (caddr c)))
(setq dx (車の dy) (cadr d) dz (caddr d))))

;3.1415926535
(setq angrada (/ax pi))
(setq angradb (/bx pi)))
(setq angradc (/cx pi))
(setq angradd (/dx pi))


(setq newaz (*) (sin angrada) pi)
(setq newax (* (cos angrada) pi))
(setq neway ay);可読性だけ

(setq newbz) (sin angradb) pi)
(setq newbx (* (cos angradb) pi))
(setq newby by) ; 読み込みのみ

(sin angradc) パイ)
(setq newcx (* (cos angradc) pi))
(setq newcy cy) ; 可読性のためだけ

(精進)
(setq newdx (* (cos angradd) pi))
(setq newdy dy) ; 読み込みのみ

(setq newa (list newax neway newaz) ) )
(setq newb (list newbx newby newbz) ) )
(setq newc (list newcx newcy newcz) ) )
(setq newd (list newdx newdy newdz) ) )

(コマンド "3dface" newa newb newc")
)
)
(Sectq na(1+ na)))
)
)
; 19.7392
)
)
 
孔質の表面の実質の練習の上のコード(2つのexplodedブロックからの))
 
再びリハーサルする(揺れれば私を書いてください)が、この仕事は私を取っています。
私はそれを簡素化したので、私は古いコードを残すことはできませんが、特に私は重要な修正をしなければなりませんでした。 曲がるリング(上記記事で見ると)で働いたのですが、プロジェクトの救済は理解できませんでした。 ローラーを実際に作成し、大丈夫ですが、すべてのものがゼロ高度にあったかのように、オリジナルのプランデザインから顔を撮る。
テストとして使用している気孔の陰性に漏れを差し込むことで実現し、3次元のベーシックモデルを読み取る補正を導入しました。
説明よりも、イメージの価値があると思います。
しかし今、完全な回転で完璧なシリンドを取得したい場合は、ベースモデルの長さを再び調整する必要があります。
私が書いたように、今はパラメトリックではないので、リバースエンジニアリングの正確な長さを見つける必要があります。
しかし、新しいコードはそのままなので、二次元だけでなくモデルを読みました。
Clipboard01.jpgClipboard02.jpg
Code:
(デファンhprint())
(setq の selez nil)
(setq の selez (ssget))))
(/= selez nil の場合)
(プログ)
(setq l (sslength の selez))
(setq l (1- l)))
(Sectq na 0)
(ただし、< = na l)
(setq ename(sname selez na))) )
(setq alist(エントリ名)))
(例: "3dface"(cdr(assoc 0 alist))))))
(プログ)
(setq a (cdr(assoc 10 alist)))) b (cdr(assoc 11 alist) c (cdr(assoc 12 alist)))) d (cdr(assoc 13 alist))))))))))))))

(setq ax (車 a) ay (cadr a) az (caddr a)) )
(setq bx (car b) による (cadr b) bz (caddr b) )
(setq cx (カー c) cy (cadr c) チェコ (caddr c)))
(setq dx (車の dy) (cadr d) dz (caddr d))))

;3.1415926535
(setq アングラダ ax)
(setq の angradb bx)
(setq アングラデック cx)
(setq の angradd dx)

(- 1 az)
(setq newaz (*(sin angrada)quota)))) )
(setq newax (*(cos angrada)quota)))) )
(setq neway ay);可読性だけ

(- 1 bz)
(setq newbz (*(sin angradb)quota)))))
(setq newbx (*(cos angradb)quota)))) )
(setq newby by) ; 読み込みのみ

(Sectq quota (- 1 チェコ))
(setq newcz (*(sin angradc)quota)))))
(setqのnewcx)
(setq newcy cy) ; 可読性のためだけ

(- 1 dz)
(sin angradd)クォータ)
(setq newdx) は、
(setq newdy dy) ; 読み込みのみ

(setq newa (list newax neway newaz) ) )
(setq newb (list newbx newby newbz) ) )
(setq newc (list newcx newcy newcz) ) )
(setq newd (list newdx newdy newdz) ) )

(コマンド "3dface" newa newb newc")
)
)
(Sectq na(1+ na)))
)
)
; 19.7392
)
)
 
Clipboard01.jpgお問い合わせ ストーリーの最後に、すべてのテストに合格しているため、最後のリストを更新する必要はありません。
誰かがそれを試したり、それを使用させたい場合、私は決定的な徴候を提供します。
1) リボンをラップし、正確なドラムを形成するには、x軸に長さ2piでなければなりません。 喜び y e z. 正の文字盤の全体場所 (私は0.0.0からテープを置く).
2) パラメータコードは使わないため、結果のシリンダーは既にスケーラブルになるので作りません。
3)ドラム上の彫刻は、テープ上の正のzで検出される(上方にラップ)。
4) コマンドを起動する前に、シリンダーの新しいレイヤーを作成し、現在のレイヤーを作成すると、テープとローラーの間に解放し、問題なく操作できるようにするため、オリジン0.0.0の両方が部分的に重複します。
5)コードは3dfaceエンティティティティのみに対応しています。 その他は無視されます。
 
私はベントに来たので、私は、その必要性、ローラーを作成した後、そして多分それを修正して、すべてが3Dフロアに戻って来るので、私は主題に戻ります。
より複雑で、シリンダーのトポグラフィをシートに戻します。
私は、小さじの中に、式を包装し、その後、私は、ケード作業を作るより素朴な方法を選ぶために、私はそこにいないボウラーとかなり少し悩んだ、つまり、彼はシリンダー上の各点のアークを描き、私は長さ "distinct"を言う、と、一般的な起源と比較してその点のx値として測定を報告する。
特に、顔が360度以上0度未満の馬首のシリンダーに立つことができるので、特に単純なものではなく、それは私に些細な開発ではなくアークを作る。 ここから、制御; 顔が範囲0-360でいるかどうかを教えてくれる "pure"は、360以上の頂点の場合。
しかし、シリンダーの直径は必須2(堅い1)であり、その起源は0.0.0に置かれる基盤の中心です。 転がされたカーペット、すなわち0.0.0として置かれる、シリンダー高さはyの肯定に従って置かれなければなりません。
これは、結果が床にシリンダーカーペットをアンロールするようなので、正確には、y軸に沿って配置され、x軸に広げられます。 作成するときは、
ここにも、新しいフォームが最初と絡み合っていないので、ルーチンを起動する前に新しいレイヤーの上により良い場所を配置し、簡単に選択可能です。
それは「木材」なので、それはカーペットに置かれる肯定的な容積になるシリンダー直径の「発生」のためにだけ検証されます。 「シリンダーが外出しているかどうかは、問題がなかったので、どうなるかチェックしなかった。 「連続スタンプ」3dです。 シリンダーに刻まれているものは、その地形で転がされていないカーペットに付着します。
もちろん、誰かが鋭いアルゴリズムでアイデアを持っていたら、ありがとう!
Code:
(defun mprint()))
(setq の selez nil)
(setq の selez (ssget))))
(/= selez nil の場合)
(progn)
(setq l (sslength の selez)))))
(setq l (1- l)))
(setq na 0)
(<= na l)
(setq ename(ssname selez na))) )
(setq alist(エントリ名)))
(例: "3dface"(cdr(assoc 0 alist)))))
(progn)
(setq a (cdr(assoc 10 alist))) b (cdr(assoc 11 alist)) c (cdr(assoc 12 alist)))) d (cdr(assoc 13 alist))))))))))
(setq ax (車 a) ay (cadr a) az (caddr a)) )
(setq bx (car b) による (cadr b) bz (caddr b) )
(setq cx (カー c) cy (cadr c) チェコ (caddr c)))
(setq dx (車の d) dy (cadr d) dz (caddr d))))
(< az 0)(< bz 0)(< cz 0)(< dz 0))))
(setq sud 1)
(setqのsud 0)
)
(setq クロス 0)
(< az -0.0001)(setq クロス(+ 1クロス)))))
(< bz -0.0001)(setq クロス(+ 1クロス)))))
(もし (< cz -0.0001) (setq クロス (+ 1 クロス)))))
(< dz -0.0001)(setq クロス(+ 1クロス)))))
(例えば(=交差4) (=十字0))) (setqの純粋な1) (setqの純粋な0))

;...........................
(setq newaz (- 1 (sqrt (+ (* ax ax) (* az ))))))))))))))
(setq pointcent (リスト100 0 0 0)))
(setq pointstart (リスト101 0 0 0)))
(setq pointend (list (+ 100 ax) az 0)) )
(例: ax 1 0.0001) (= sud 1))
(setq newax 6.28318531) (setq newax 6.28318531) (setq newax 6.28318531) (setq newax 6.28318531)) (setq newax 6.28318531) (setq newax 6.28318531)) (setq newax 6.28318531) (setq newax 6.28318531) (setq newax 6.28318531) (setq newax 6.28318531) (setq newax 6.28318531))
(progn)
(command "arc" "c" pointcent pointstart pointend)
(setq selez2 (ssget pointstart) ) )
(setq ename2 (ssname selez2 0)))
(setq nalist (entget ename))) )
(setq basarc (cdr (assoc 50 ナリスト)))))
(setq endarc (cdr(assoc 51 nalist))))))
(setq svilarc (- エンドアーク basarc)))
(entdel ename2)
(setq newaxのsvilarc)
)
)
(setq neway ay) ;solo per leggibilità
;..................

(setq newbz (- 1 (sqrt (+ (* bx bx)))))))))))))
(setq pointcent (リスト100 0 0 0)))
(setq pointstart (リスト101 0 0 0)))
(setq pointend (list (+ 100 bx) bz) 0) )
(例: bx 1 0.0001)
(setq newbx 6.28318531) (setq newbx 6.28318531) (setq newbx 6.28318531)) (setq newbx 6.28318531) (setq newbx 6.28318531) (setq newbx 6.28318531)) (setq newbx 6.28318531) (setq newbx 6.28318531) (setq newbx 6.28318531)) (setq newbx 6.28318531)
(progn)
(command "arc" "c" pointcent pointstart pointend)
(setq selez2 (ssget pointstart) ) )
(setq ename2 (ssname selez2 0)))
(setq nalist(entget ename)))) (setq nalist(entget ename2)))) (setq nalist(entget ename2)))) (setq nalist(entget ename2)))))) (setq nalist(entget ename))))))) (setq nalist(ent(entget ename2)))))))))) (setq nalist(ent(entget ename2)))))))) (setq nalist(setq nalist(ent(ent(entget ename2)))))))
(setq basarc (cdr (assoc 50 ナリスト)))))
(setq endarc (cdr(assoc 51 nalist))))))
(setq svilarc (- エンドアーク basarc)))
(setq newbxのsvilarc)
(entdel ename2)
)
)
(setq newby による) ;solo per leggibilità
;..................

(setq newcz (- 1 (sqrt (+ (* cx cx) (* cz ))))))))))))
(setq pointcent (リスト100 0 0 0)))
(setq pointstart (リスト101 0 0 0)))
(setq pointend (list (+ 100 cx) チェコ 0))
(例: cx 1 0.0001) (= sud 1))
(setq newcx 6.28318531) (setq newcx 6.28318531) (setq newcx 6.28318531) (setq newcx 6.28318531)) (setq newcx 6.28318531) (setq newcx 6.28318531)) (setq newcx 6.28318531) (setq newcx 6.28318531)) (setq newcx 6.28318531) (setq )
(progn)
(command "arc" "c" pointcent pointstart pointend)
(setq selez2 (ssget pointstart) ) )
(setq ename2 (ssname selez2 0)))
(setq nalist (entget ename))) )
(setq basarc (cdr (assoc 50 ナリスト)))))
(setq endarc (cdr(assoc 51 nalist))))))
(setq svilarc (- エンドアーク basarc)))
(setq newcxのsvilarc)
(entdel ename2)
)
)
(setq newcy cy) ;solo per leggibilità
;..................

(setq newdz (- 1 (sqrt (+ (* dx dx))))))))))))
(setq pointcent (リスト100 0 0 0)))
(setq pointstart (リスト101 0 0 0)))
(setq pointend (list (+ 100 dx) dz) 0) )
(例: dx 1 0.0001) (= sud 1))
(setq newdx 6.28318531) (setq newdx 6.28318531) (setq newdx 6.28318531) (setq newdx 6.28318531)) (setq newdx 6.28318531) (setq newdx 6.28318531)) (setq newdx 6.28318531) (setq newdx 6.28318531) (setq newdx 6.28318531) (setq ) (setq newdx 6.28318531) (setq (setq newdx 6.28318531)
(progn)
(command "arc" "c" pointcent pointstart pointend)
(setq selez2 (ssget pointstart) ) )
(setq ename2 (ssname selez2 0)))
(setq nalist(entget ename)))) (setq nalist(entget ename2)))) (setq nalist(entget ename2)))) (setq nalist(entget ename2)))))) (setq nalist(entget ename))))))) (setq nalist(ent(entget ename2)))))))))) (setq nalist(ent(entget ename2)))))))) (setq nalist(setq nalist(ent(ent(entget ename2)))))))
(setq basarc (cdr (assoc 50 ナリスト)))))
(setq endarc (cdr(assoc 51 nalist))))))
(setq svilarc (- エンドアーク basarc)))
(setq newdxのsvilarc)
(entdel ename2)
)
)
(setq newdy dy) ;solo per leggibilità
(setq newa (list newax neway newaz) ) )
(setq newb (list newbx newby newbz) ) )
(setq newc (list newcx newcy newcz) ) )
(setq newd (list newdx newdy newdz) ) )

(= 1 純粋な)

(コマンド "3dface" newa newb newc "")
(progn)
(もし (< ax 0))
(コマンド "3dface" newa newb newc "")
(progn)
(< newax pi) (setq newax (+ pi pi newax))))))
(< newbx pi) (setq newbx (+ pi pi newbx))))))
(もし (< newcx pi) (setq newcx (+ pi pi newcx))))))
(もし(< newdx pi) (setq newdx (+ pi pi newdx))))))

(setq newa (list newax neway newaz) ) )
(setq newb (list newbx newby newbz) ) )
(setq newc (list newcx newcy newcz) ) )
(setq newd (list newdx newdy newdz) ) )
(コマンド "3dface" newa newb newc "")
)
)
)
) ; 純粋なら閉まりて下さい
) ; 3dface の場合には progn を閉めて下さい
) ;endif 3dface
(setq na(1+ na))
) ; 近く na
);近いprognのselez
) ; 場合の selez 閉まりて下さい
) ;defun を閉めて下さい
 
長い間投稿した「逆」は、シリンダー内の連続スタンプを作成するため、問題なく「ストレス」を持たずに、私に役立つ。
私はワッフルをオーバーラップして雪のピントを作成しましたが、それはあまりにも規則的だったし、その上、すべてが混乱することなくそれらを伸ばすために一つずつ枝を選択することも困難でした。
あまり自信がないスタンプのリバースエンジニアリングコードを試してみた。 エルゴ:
最大半径〜2.00。
0.0.0に置かれる松の円錐形の基盤の中心
成長yで0.0.0から伸びる(地面に伸びるロールカーペットとして再開)
別の層を活動化させる(別の層を、そうでなければ新しい形は元と交差させ、それを扱うことは不快です)、私は枝が縦に開始する芝生のような床で転がされていないすべてのものを見つけました(しかし、ネガティブzで、私は、それがスタンプのためにあります)。
1 つずつ伸ばします。
やったとき、hprintで「戻り」をしました。
結果はここにあります。
パラメータ化せずに pi を使用するアルゴリズムが 2 に渡るのを忘れないでください。
完成した作品は、必要に応じて再販することができます。
久しぶりのクリスマス!
 

Attachments

  • Clipboard01.jpg
    Clipboard01.jpg
    150 KB · Views: 4

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