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

ブロックに存在するテキストの内容の表を作成する

  • Thread starter Thread starter Riccardo_Ferrari
  • Start date Start date

Riccardo_Ferrari

Guest
プログラムのカウントをしました。 lsp リンク http://www.lee-mac.com/blockcounter.html 投稿者 lee mac.
autolisp の知識がほとんどなく、次のように個人的な使用のためにソフトウェアを変更しようとしましたが、失敗しました。
それぞれに3つのmtext(非常に単純なmtext、それはテキストであるかもしれませんが、それらはmtext)を3つの異なるレイヤー(例:968、pf、2.337、2は数値、1つのアルファベット)と1つのポイントが含まれている。
例のdwgを添付します。
3つのテキストとポイントの座標を各行にテーブルを作成する必要があります。
可能ですか?
ありがとうございます。
 

Attachments

mtext を使う代わりに ブロック属性を使うと、すべてが単にextinctionsで終わっていました。
 
mtext を使う代わりに ブロック属性を使うと、すべてが単にextinctionsで終わっていました。
回答ありがとうございますが、私がやった場合は、その種類のブロックを行わなかったので、気にせず、悪く処理してはいけない。 m は、多くの場合、内部にそれらのブロックで dwg 来ます。つまり、データを抽出してシステムに渡します。 今、私は手でそれをしました, ブロックをexploding, lispを作るためにしようと. 何かアイデアがあれば、私は感謝します。 しかし、翻訳が絶え間ない元のコマンドの名前を尋ねます。 お問い合わせ
 
... すべてが単に絶滅で終わっていた
指示のおかげで。 翻訳が絶え間ないコマンドの名前、コマンドの食感がわかりました。 要求したデータを抽出します。 テキストまたはmtextは同様に抽出します。 フィルタする必要がある多くのデータでファイルを生成するので、必要なことは正確にではありませんが、それは素晴らしい一歩です。 コマンドが必要とするデータをフィルタリングする予防フィルタ。 なので、すべてを抽出し、ダウンストリームをフィルタリングします。 お問い合わせ
 
コマンド casttesti
注意をありがとう、しかし何かが欠けている。 彼は言う:
;error: 関数定義なし: rppt

実際には、ライン16でlispで機能する:
(setq pt (rppt sn 10))
 
私は何かを忘れなかったように思える...。
rpor66, 最初は、あなたも私のために働いた準備が整いました. コードを読んで、代わりに、特に書いたことに気付きました。 お問い合わせ あまりにも多くのトラブル.

私は自分自身が変更できるいくつかの簡単な部分で私の個人的な使用のためにあなたのコードを変更することができます。 たとえば、特定のブロックの選択とすべてのものではなく、出力テキストの形式。 これら2つの変更を加えるときに追加するものがわからない。

ps.: ライティングは、レイヤーの変更、以下を参照してください。

代わりに、私はあなたのリスペスに関する次の2つの問題を解決することはできません, あなたがそれらをマークするためにあまりにも多く行っていることを繰り返す, それがそれらを解決することが可能であれば、多分私は何かを学ぶ.

最初の問題

プログラムをメッセージで停止するブロック(例えば、添付したdwgで囲んだもの)の存在が十分である

error: 悪い引数タイプ: stringp nil

一部のユーザーは、ブロックをスキャンし、同じレイヤーで追加のブロックを生成し、標準の1つ以外の

それらの爆発を選択しないと考えることは不可能です。 dwgをした人の無視の問題ですが、dwgが既に完了したら、それを管理する必要があります。

リスペスが標準でないブロックを無視し、レイヤーを1つまたは別のものに変えるのは「正しいブロックでより良い」です。<nome_originario>_made" なので、それを消し、それをやって来る

多分これ (maybe) 私は単独でそれを行うことができます, エラー管理が克服した後

第2の問題

lisp は標準ブロック以外の同じ層にブロックがない場合、 egregiamente を動作します(この場合、それは lisp の欠陥ではなく、それらのブロックを離れる人)

いくつか、幸いにも稀に異常な行動が起きていますが、なぜか理解できません。

一部の dwg には冗長リストを生成するブロックがあります

lisp がデータを抽出するリストの例:

(-12.654 -12.654 釘 1300 -12.654 釘 1300)

(17.696 -17.696 -17.696 -17.696 pf 1500 -17.696 pf 1500)

lisp は第 1、第 2、第 3 を抽出しますので、一部のデータは無視されます

それぞれ取得します。

-4.74203926,-2.94334927,0|コッタ:12.654|コッタ:12.654

-4.13995449、-5.0876663、0。

私はまた、この状況にdwgを取り付けます

この2つ目の問題は少ないので、それはまれであり、私はあなたのリスペスがデータを抽出するリストをダウンストリーム管理することによってそれを解決できると思います(つまり、リスペスを変更する、私はすべてのデータを書いて、それから参照してください)、しかし、問題はそれがどのように起こるかの残っています。 お問い合わせ

逆にまず、なぜそれが起こるのか(標準でないブロック)理解しましたが、解決できません。

ありがとうございました。

フリンダー</nome_originario>
 

Attachments

私はバグ問題1をチェックしました。 ブロックには、自分自身で数回コピーされたテキストが含まれています。 問題の修正が見れるとすぐに。
ログイン
 
2つの課題を解決
平等な値を持つテキストを一度保存し、mtextのないブロックはエクスポートされません。
メンバーがリストを分析し、値が表示されていない場合、保存します。
ブロックを解析した後、テキストリストが空になっている場合、ファイル内で記述するデータは処理されません。
ログイン
 

Attachments

ok, risolti i 2 問題
しかし、あなたは、赤ちゃんですか?
お問い合わせ
私は何を言うかわからない
飛行機で試してみると大丈夫です。
メンバーがリストを分析し、値が表示されていない場合、保存します。
ブロックを解析した後、テキストリストが空になっている場合、ファイル内で記述するデータは処理されません。
今、私は少し深く、特にこのメンバーの事を試していますので、私はそれを取得しません。
お問い合わせ
ありがとうございました, 豊か
 
ok, risolti i 2 問題
したがって、親愛なるrpor66

私はまだ理解していないメンバー、また、私がそれを勉強していないので、私はあなたのリスペスに2つの変更をしました。 または変更と追加を改善します。 変更された lisp を allego

1) ここで私はXを削除しました
(setq s (ssget "x" (cons 0 "insert") (cons 8 "point"))))))
一部のブロックのみを選択

2) 以下の行を追加
(entmod (cons 8 "point-done") (assoc 8 (entget sn))))))
既にエクスポートされたブロックを離れて層に送るために

変更のために 1 再び, 2 私はネット上で見つかったコードから取った, しかし、私は私が何をしたか理解しなかった, しかし、それは動作します. どんなラマーか

ご挨拶とお礼を申し上げます。

フリンダー
 

Attachments

コードを徹底的に試すことはできなかったのですが、何か問題があります。
私はまだ理解していない, 私は理解しようとすると、休息.
問題は非常に厚いブロックであり、あなたのコードではないことは明らかです。

それではなぜ書いていたんですか? お問い合わせ その間に、私は完全に異なるブロックを持っているので、より良いように見える。 属性もあれば、そう言うと。

テキストを書いているリスペスは、先頭から書き出すことです。
私はファイルを別のブロックで添付し、あなたができることを参照してください、ありがとう。

フリンダー
 

Attachments

私は参照しています rpor66の特長, しかし、もちろん、私はより多くの介入を読むのに満足しています。なので、listdablock_mtext.lsp daです。 rpor66の特長 7月8日のフォーラムに投稿(リンク) https://www.cad3d.it/forum1/attachments/listadablock_mtext-lsp.58658) 私は感謝するコードは、すべての点で動作しませんが、それは点の欠陥、またはdwgよりも優れています。

いくつかの点は、ブロックが3つのmtext(コードがよく読み込まれる)中にブロックされますが、3つのmtextの代わりに、テキストを含む3つのブロックがネストされます。 私は違いの理由を知らない: dwgはこれのように到着し、あなたはそれに取り組む必要があります。 混合例を添付します。 ドウグ

問題がコードにある場所を把握するために、私はしばらく経ちました。 行番号 20 で、条件 (eq (vla-get-objectname x) "acdbmtext") は、他のポイント (vla-get-objectname x) が "acdbblockreference." を返す間のみ mtext を正しくフィルタリングしていると見てきました。

コードを変更するための不公平な試みが無駄だった、私の無視のためのコース。 mtext に加えて、他の人に渡すと、あなたが適用する時に間違いを生成します (vla-get-textstring x)、私はすべてを試してみました: 何もしません。 ネストされたブロックを入力する必要があります。

多くの試みの後 別の方法を試してみることにしました。 しかし、私はどのようにしたのかわからないのですが、それは作品です。 私はここに見つけたブロックcountv1-5.lspコードを修正しました http://www.lee-mac.com/nestedblockcounter.html 私は私の修正を添付し、ネストされたブロックを読んで、それらのmtextではなく、おそらくmtext(maybe)でも非常に困難に取り組むが、私は反対を好むだろう、それは、投稿されたコードを完了することです rpor66の特長お問い合わせ 変更した内容(ただし、元のリスペスも)が非常に遅く、1,000ポイントは数分間かかります。 3,000 停止前)

その後、まとめると、4つのファイルがあります。
1) リスト codedablock_mtext.lsp ()https://www.cad3d.it/forum1/attachments/listadablock_mtext-lsp.58658/)
2) codice blockcountv1-5.lsp ()http://www.lee-mac.com/lisp/blockcountv1-5.lsp)
3) 前の変更(count.lsp をここに添付)
4) dwgテスト(misti.dwgはここに付いて)

ご挨拶

豊富なフェラーリ
 

Attachments

ネストされたブロックの読み込みを追加し、追加で lisp を調整しました。
ログイン
お問い合わせ 私は今だけ見る。
ギルティ 10 日後.
ダウンロードしてみました。
お問い合わせ
豊富なフェラーリ
 

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