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

1つのポイントで共通の企業

  • Thread starter Thread starter Gio_S
  • Start date Start date
最初に "all" を選択し、コードを入力します。
ssget は選択を要求します、最初に選ぶことは役に立ちません。
もしそれがうまくいかないと、多分あなたのリスペスのあなたのバージョンは本当にあまりにも日付です.. .
これは、ssgetリストとして書かれているものです。
別のアカウントは、この選択を書く前にそれを想像することです。 . . .
長年に渡ってメモを浴びてきました。 お問い合わせ
条件(-4 ....) -4で閉鎖したのは間違っていますか?
-4 クロージャは、次のような条件で機能します。
(sget "_x"(8 . "lines")) . . "<or") "or="" (-4="" (62="" .="" 1)="" 2)="">ツイート


Note: 16200行をオートキャド、gstarcad、またはprogecadオーバーキルでテストするために使用される59秒または21分。 お問い合わせ</or")>
 
今、私は顔のあなたの選択を実装しようとします, 私はそれが実装されていないと思います, それは私に間違いを与えませんので、.
私は間違っているか、リストや構文を強調したいと確信しています。
一番コンパクトなので、ラインに機能を掲載しましたが、顔の1つでも上書きはありません。
あなたのニーズに応じて、あまりにも多くの差別化を行わなければならないと思います。
比較するケースが多いです。
回転の方向、3つまたは4つの側面、4つの「偽」の側面、またはあらゆる位置の頂点の繰り返し。 おそらく、ケースが多様であるため、実装しなかった。 現在3つの側面のみで働いていますが、その3つだけを考慮したstlから入退出します。
ネストされたループの比較がとても多くあるので、私は本当にあなたの関数を回す必要があります。
たとえば、私は2つの4面が説明しました
a、b、b、d または a、b、d は等しいです。それはそれらに等しい b、d、a、a
オートキャド、保存、清掃、および3面の顔を、a、b、c のように記述するかどうかはわかりません。 比較したいのは、b、c、a、c、b、およびその逆の感覚です。
a,b,b,c たとえば、同じ点 b で永続的に異なる 2 つの頂点を倍増するストレッチの効果の典型的な例です。
モバイルコンマへの非常に長い値ではなく、そのために、回転のビット、またはサブディビジョンの後、すべての顔は異なりますが、慣行では理論的に平等であるべきであり、私はコンマの後に8以上の小数を得るために、フローティングポイント操作の結果から私を守る必要があります。 つまり、説明できるかどうかわかりません。 値を2倍に固定し、それらを1つに割り込み、それらを比較する必要があります。
実際には、小数のつまみに正規化する等しいオプションがあるかどうか、線上の機能で。
時々、短くするために、私は4つの小数でdxfを投げる必要があります、私は確かにプレスを必要としないほど、それから私はそれを "クリーン".
 
お問い合わせ
お問い合わせ 勉強を始めて、このことは境界ボックスで選択します!
(sget "c"(0 0 0) '(100 100 15)) ... クォータの15未満のオブジェクト、および xとy = 100円しかし、宣言されたポイントの注文に応じて勝つか、交差すると言う。要するに、我々はそれらの間でコイン化したエンティティティだけを見つけるために非常に良い道にあります(そしてそれらを削除)

"b" ではなく、"c" ではなく、"b" の文字列のために "b" 、 "c" を編集、 ho を修正、ウィン、またはクロスが移動します。 しかし、仕事は出来ません。
 
Last edited:
勉強を始めて、このことは境界ボックスで選択します!
(sget "c"(0 0 0) '(100 100 15)) ... クォータの15未満のオブジェクト、および xとy = 100円
私はあなたに悪いニュースを与えるために申し訳ありませんが、b(box)オプションは関連しています リフォーム 選択の、箱に縛らない:rolleyes:
右側から左にポイントを指定した場合、選択は交差して、それ以外の場合はウィンドウで行われます。
 
昨日は仕事だったと思った。 多分 以前の選択を思い浮かび上がっていますが、今では不連続な結果が出ました。
とにかく、私は、重複を削除するために私に興味を持っているので、再び試みました.
(sget "c"(15 15 15) '(15 15 15 15) i.e. 15,15,15
二人の回転を反転した後も、両方とそれらだけを手に入れました!
ゼロから別の上昇しても!
代わりにbは私に "悪い文字列"を与えます
私は私の助けを見ました, 男, 彼らはすべての実装されていますが、bのいいえ! そうでなかった。
cmq 私はサプライズの場合にはあなたを教えてくれます。
 
有名な58秒は到達できませんが、もうひとつのストーリーです!
非常に高速! そして、このバージョンが古いルーチンがなかったすべてのキャンセルで再描画するので、私も罰せられます。 しかし、今は見てみると、ここでか、他の描画プログラムで再描画を中断できるかどうかは記憶しません。 名誉 (通常) へ gp
オートカドでやるかどうかはわかりません。
ps. レースを投げた最初のドラフトは、ギャップを持つことができます。

Code:
(defun 削除linecopyv)
(prompt "\ndelete 行コピー new: ") (setq selez(ssget))))))) (setq デッド 0 スパイ 0)
(/= nil selez の場合)
(プログ)
(setq max (sslength の selez)) 容器 0)
(間) (> 最高の円錐形)
(setq en (ssname selez contasel) alist (entget en) (ssname selez contasel) alist (entget en))
(例えば(= "3dline" (cdr(assoc 0 alist))))))) (= "line" (cdr(assoc 0 alist)))))))))))
(プログ)
(setq デッド 0 numscope 0)
(setq pnta (cdr(assoc 10 alist))) pntb (cdr(assoc 11 alist))))
(setq の平坦 0)
(setq を渡る)
(配信中)
(setq numscope (slength の encross))
;(princ(rtos numscope)))
;(princ "here")

(と (> numscope スパイ) ( /= デッド 1) )

(setq en2 (pavement を渡る名前) alist2 (entget en2))
(setq pnta2 (cdr(assoc 10 alist2))) pntb2 (cdr(assoc 11 alist2))))))))

(例: pnta2 0.00000001) (例: pntb pntb2 0.00000001)) (setq デッド 1) )
(例: pntb2 0.00000001) (例: pntb pnta2 0.00000001))
(setq の平坦(+ の平坦) 1) )
)
)
)
(=デッド1)(エンデルエン)
(setq デッド 0 スパイ 0)
(プライアンス)
(setqのcontasel (+ 1会計士)))
)
)
)
)
 
ここでは、より良い取得.
- 冗長割り当てを削除
- ループの検索ウィンドウを1つのポイントに減らしました(それから私の最初の目的でした)。
3dfaceを掃除するためのバージョンを準備する必要があります。これは、異なるように見える顔の間に作られたチェックが本当に多くあるので、かなり退屈していますが、それはオートカドでさえありません。
Code:
(defun 削除linecopyv)
(prompt "\ndelete 行コピー new: ") (setq selez(ssget)))))))
(/= nil selez の場合)
(プログ)
(setq max (sslength selez)の円錐形 0)
(間) (> 最高の円錐形)
(ssname selez contasel) alist (entget in) (ssname selez contasel) alist (in)
(ゴールド(=3dline) (CDr(assoc 0 alist)))))))
(プログ)
(setq デッド 0 numscope 0 spiazza) 0)
(setq pnta (cdr(assoc 10 alist))) pntb (cdr(assoc 11 alist))))))) )
(setq encross (sget "c" pnta pnta)))
(を渡るsdel)
(setq numscope (slength の encross)))

(間 (> numscope spiazza) ( /= デッド 1)

(setq en2 (ssname encross spiazza) alist2 (entget en2)
(setq pnta2 (cdr(assoc 10 alist2))) pntb2 (cdr(assoc 11 alist2)))))

(例: pnta2 0.00000001) (例: pntb pntb2 0.00000001)) (setq デッド 1)
(例: pnta pntb2 0.00000001) (例: pntb pnta2 0.00000001))
スピアッツァ(+スピアッツァ) 1) )
)
)
)
(=デッド1の場合)
(princ ".")
(setqのcontasel (+ 1のcontasel)))
)
)
)
)
 
それが誰かにサービスを提供することができれば、瞬間にオートキャドがそれを行うように見えるので、ここにまた、重複3dfacesのルーチンを置く。 書いてあるだけ、ギャップを含まない!
ps, 簡単なコメントですが!
Code:
################################################################################################################################################################################################################################################################

(defun deletefacecopy)
(prompt "\ndelete 3dface copy: ") (setq selez(ssget)))))))))
(/= nil selez の場合)
(プログ)
(setq max (sslength selez)の円錐形 0)
(間) (> 最高の円錐形)
(ssname selez contasel) alist (entget in) (ssname selez contasel) alist (in)
(例: "3dface" (cdr(assoc 0 alist)))))
(プログ)
(setq デッド 0 numscope 0 spiazza 0 三角形 0 三角形 0 三角形 2 0)
(setq pnta (cdr(assoc 10 alist) pntb (cdr(assoc 11 alist)) pntc (cdr(assoc 12 alist) pntd) (cdr(assoc 13 alist))))))) ) )

d ogni eventuale ripetizione di vertice を紡ぐ
(例: pntb pnta) (setq pntb pntc pntd)
(例: pntc pntb) (setq pntc pntd)
(例: pntd pnta) (setq pntd pntc)
;(princ pnta )
;(princ pntb )
;(princ pntc )
;(princ pntd)
(setq encross (sget "c" pnta pnta)))
(を渡るsdel)
(setq numscope (slength の encross)))

(間 (> numscope spiazza) ( /= デッド 1)

(setq en2 (ssname encross spiazza) alist2 (entget en2)
(setq pnta2 (cdr(assoc 10 alist2))) pntb2 (cdr(assoc 11 alist2)))))
(setq pntc2 (cdr(assoc 12 alist2))) pntd2 (cdr(assoc 13 alist2)))))) )

d2 ogni eventuale ripetizione di vertice をスピン
(例: pntb2 pnta2) (setq pntb2 pntc2 pntc2 pntd2)
(例: pntc2 pntb2) (setq pntc2 pntd2)
(例: pntd2 pnta2) (setq pntd2 pntc2)

(例: pntc pntd) (setq 三角形 1) )
(例: pntc2 pntd2) (setq 三角形 1 ))

;(princ(rtosの三角形))

(&(= 三角形 1)(= 三角形 2) ; 3 ラティ
(プログ)
(例: pnta2 0.0001)(例: pntb pntb2 0.0001)(例: pntc pntc2 0.0001)))(setq デッド) 1) )
(例: pnta pntb2 0.0001) (例: pntb pntc2 0.0001) (例: pntc pnta2 0.0001)) (setq デッド 1)
(例 pnta pntc2 0.0001)(例 pntb pnta2 0.0001)(例 pntc pntb2 0.0001)))(setq デッド) 1) )
(例: pnta2 0.0001) (例: pntb pntc2 0.0001) (例: pntc pntb2 0.0001)) (setq デッド 1) ; 逆回転
(例: pnta pntb2 0.0001)(例: pntb pnta2 0.0001)(例: pntc2 0.0001))(setq デッド 1)))
(例: pnta pntc2 0.0001)(例: pntb pntb2 0.0001)(例: pntc pnta2 0.0001))(setq デッド) 1) )
)
)
(&(= 三角形 0)(= 三角形 2 0) ; 4 ラティ
(プログ)
(例: pnta2 0.0001)(例 pntb pntb2 0.0001)(例 pntc pntc2 0.0001)(例 pntd pntd2 0.0001))(setq デッド 1))))
(例: pnta pntb2 0.0001)(例: pntb pntc2 0.0001)(例: pntc pntd2 0.0001)(例: pntd pnta2 0.0001)))(setq デッド) 1) )
(例: pnta pntc2 0.0001)(例: pntb pntd2 0.0001)(例: pntc pnta2 0.0001)(例: pntd pntb2 0.0001)))(setq デッド 1) )
(例: pnta pntd2 0.0001)(例: pntb pnta2 0.0001)(例: pntc pntb2 0.0001)(例: pntd pntc2 0.0001)))(setq デッド) 1) )
(例: pnta2 0.0001)(例: pntb pntd2 0.0001)(例: pntc pntc2 0.0001)(例: pntb2 0.0001))(setq デッド 1) ; 逆回転
(例: pnta pntd2 0.0001)(例: pntb pntc2 0.0001)(例: pntc pntb2 0.0001)(例: pntd pnta2 0.0001)))(setq デッド) 1) )
(例: pnta pntc2 0.0001)(例: pntb pntb2 0.0001)(例: pntc pnta2 0.0001)(例: pntd pntd2 0.0001))(setq デッド 1))))
(例: pnta pntb2 0.0001)(例: pntb pnta2 0.0001)(例: pntc pntd2 0.0001)(例: pntd pntc2 0.0001)))(setq デッド) 1) )
)
)

スピアッツァ(+スピアッツァ) 1) )
)
)
)
(=デッド1の場合)
(princ ".")
(setqのcontasel (+ 1のcontasel)))
)
)
)
)
 
異なるアプローチ。

私のPCの時:
2秒で30,000ラインのオーバーキル
Code:
(defun c:okl ( / sel n e_g e c lc ))
(setq ssget '(0 . "line"))))))))
(repeat (ssslength sel)))))
(setq e_g (entget (setq e (sssname sel (setq n (1-n))))))))))))))))
(setq c) リスト (cdr (assoc 10 e_g))
(c lc 会員の場合)
(entdel e)
(setq lc (cons c lc))))
)
)
)
16/17秒で30,000 3dfacesのオーバーキル(autocadは5)
Code:
(defun c:ok3df ( / sel lv n e_g c lv_tot c e ))
(setq ssget '(0 . "3dface")))))))))
(setq lv (リスト0)
(repeat (ssslength sel)))))
(setq e_g (entget (setq e (sssname sel (setq n (1-n))))))))))))))))
(setq c (list (cdr (assoc 10 e_g))) (cdr (assoc 11 e_g)))) (cdr (assoc 12 e_g))))))
(setq lv_tot lv)
(lv_tot の時)
(if)
(と)
(車c) (車lv_tot)
(メンバー(C)
(caddr c) (カル lv_tot))
(cadddr c) (car lv_tot) )
)
(プログ)
(entdel e)
(setq lv_tot nil) は、
)
(setq lv_tot (cdr lv_tot)))
)
)
(setq lv (cons c lv)))
)
)
3つの三角形の顔だけを扱うので 私は区別をするために時間を失うことはありません, その後、注意は、彼らが消去されます 4 頂点と三角のものを共有します 3 最初.
作品を見る
 
すでに試してみました!
リスト上にある場合、各サミットを比較するという考え方が、オートカドにどのように存在するのか? 参照は、オーバーキルが3dfacesでは動作しません。
3と4の両方で機能します。, 問題は、あなたが知っているものです, 3面の顔が大きい上に主張する場合 4, このようにして、3つのバイアンは、それが異なっている場合でも、同じ消去しました.
stl が重なった顔を持たないため、問題ではないかもしれません。 。そして印刷物にあらゆる網で間違っています。
しかし、私が見る問題は、フロートから来るものです。
最後の小数が異なる可能性があるため、比較に限界を置く必要があります。
たとえば、2の分割が同じ中間点(最後の小数のレベルで)を生成するとは言えません。 顔を揺るがしても、いつかは言えません。
練習では、私は常に小数の最大の比較しなければなりません, ないすべて, 私は通常、最後のカットする必要があります 2 それ以外の比較は、多くの場合、良い端に行くことはありません. 私はよく言ったか、私はよく説明していないかどうかわからない、私は数学者ではありませんが、それはモバイルコンマの通常の精度の問題です。
私は(例pnta2 0.0001)を行う必要があります...または少なくとも0.000000001
シングルとダブルとバイザーのバーとの間の変換の内側と外側のstlのコンバージョンのためにもすることができます... 高くないと思います。
とてもありがとうございました。メンバーの使い方はいつも面白です!
 
esempio:

(setq x 1)
(setq と x 453.89)
(setq および (* および 453.89)
(例:x e) (princ "ok")
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(setq x 1)
(setq と x 453.89)
(setq および (* および 453.89)
(例:xと0.00001) (princ "ok")
 
のために gp
20面でルーチンを試し、よく働きました。
今日は、しかし、私は本当の仕事にそれを適用し、私は問題を持っていた。
私は、私のPCのメモリ問題、または私の小さじ、
ホイール・インテラのルーチンを当てるなら、(私はここに私の作品から抜粋し、時に顔を倍増している)、それはクラッシュするようだ、何も移動しません。
私は約300面だけを選択しようとすると、それは二重を消去し始めますが、非常にゆっくりと、そしてその後、分かち合いの後、それは間違っていると、リップは終わらないポイントの一連のリストを撮影します。
ホイール全体で、ルーチンで、顔を半分にし、23秒程度使います。
お問い合わせ 私の小石の小石であるかどうかを理解するために非常に多く...
見知らぬことは、いくつかの顔がしわを作ることができないということです。 ファイルにも参加しました。 フォーラム.lsp
 

Attachments

boh... それは私にかなりうまくいく.
i7 13700 - ラム 64gb - NVIDIA rtx4070
646.gifautocad オーバーキルは 1 秒で行います。
 
おかげで、私は私のオートリスプは、メモリを処理します。しばらくすると、彼はすべてのポイントを撮影し始めますが、すぐに、彼は動作している間。 しかし、コードがなければ、lispを見逃し、いくつかの種類のデバッグを投げるような...
お問い合わせ
 

Attachments

  • Clipboard01.jpg
    Clipboard01.jpg
    315.3 KB · Views: 4
1712303341069.pngつまり、libs を作るものの閉鎖であり、最後に括弧の前に (princ) を差し込み、もう表示しない
 
しかし、なぜ仕事が多かったの? 今はやっていません。 彼がすでにキャンセルした時、彼がやったとき、彼はそれを行います。
 
お問い合わせ 選択の準備中にシャットアップ... しばらくサイクルでソオコマンドラインで出力を開始....
なので、私はどちらかでクラッシュしません。
ちょうど私の好みで、すべての選択を準備するために生命をとり、凍らせていたと思った。 お問い合わせ 古いintellicadの lisp メモリを扱います。
また、私はより強力を持っているPC上で、, しかし、同じSWで, それはかなり良くないです, それは私だけ時間を半分.
お問い合わせ
 

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