このページについて | ||||||||||||||||||||||||||
このページは、mura's home の AutoCAD掲示板 で、当方の発言(書込み)がある以下の掲示板の内容です。
タイトルおよび質問内容は上記より引用しています。 引用した質問内容は、バックカラーが となっています。 当方の発言は、バックカラーが となっています。 その他の著作権者の掲載許可を得ていない発言内容は削除(リンクを除く)しています。 また、当方では、削除部分の正当な著作権保持者を判断出来ませんので、 ご連絡を頂いても、復活させることは出来ません。ご了承下さい。
|
初めて投函させていただきます。
困っていることは、様々な線種で作成されたオブジェクトを線種のパターンどおりに複数のオブジェクトに分解したいのです。
ExpLTYPE
for AutoCAD
2000というすごいものは、あるようなのですが、当方が持ち合わせているAutocadでは、読み込めないようなのです。
基本的にどのように分解すればよいのか、教えていただければ、幸いです。
線・円・円弧などに分解できれば・・・
作成したCADは、印刷上問題ないのですが、他のCADへ渡すときは、線だけになってしまうため、いくら線種を加工しても無駄なような気がして、悩んでいます。よろしくお願いします。
著作権者の許可を得ていないため削除
http://www.mura.sh/bbs/wwwbbs.cgi?print+200312/03120021.txt
著作権者の許可を得ていないため削除
著作権者の許可を得ていないため削除
複雑な線種の要素に "シェイプ"
が使用されている線種を分解するには・・・
線種パターン分解のフリーソフト
有限会社 アイラインさんの『ExpLTYPE for
AutoCAD 2000』
でも分解できない場合、手間はかかりますが以下の方法で何とかなります。
ただし、
・線種定義ファイル
(*.lin) が必要
・シェイプ定義ファイル (*.shp)
が必要
および、
線種定義ファイルとシェイプ定義ファイルの記述方を理解している必要がありますが・・・
●複雑な線種の要素にシェイプが使用されている線種を分解する手順
(1) 線種定義ファイルを取得する
無い場合には「AutoCAD
線種定義ファイル復元 Excel VBA」を使って下さい
http://homepage2.nifty.com/kamegai/autocad/index.htm
(2) シェイプ定義ファイル(*.shp)を取得する
(3) (2)が無ければ、コンパイル済のシェイプファイル(*.shx)を取得する
※ *.shx
が無ければ表示すら出来ないので、表示できていればどこかにあるはずです
(4) シェイプ定義の内容を取得する
※ コンパイル済のシェイプファイル(*.shx)しかない場合には、
*.shx
から *.shp へコンバート出来るフリーソフトを利用する
注)shx2shp
で検索するといろいろヒットします
ただしフリーのソフトは、DOS版
しかなさそうですが・・・
対応するシェイプのバージョンや、フォントにも対応版等、色々あるようです
(5) シェイプ定義の形状を再現しブロックに登録する
(6) 線種定義の内容を元に、複雑な線種の要素(文字・シェイプ)を除いたベースとなる線を再現する
(7) 線種定義の内容を元に、DIVIDE[ディバイダ]
または MEASURE[メジャー]で、(5)で再現したブロックを配置する
(8) 必要であればブロックを EXPLODE[分解] で、ベースとなる線を
ExpLTYPE
で分解する
で出来るはずです・・・実際にやったことはありませんが・・・
以前からこの処理をVBAにて自動化出来ないか?と調べていますが、
VBAでは簡単に線種要素の情報を取得できないので、今のところ無理そうです
著作権者の許可を得ていないため削除
複雑な線種の要素に "シェイプ" が使用されている線種を分解するには・・・続き
AutoCAD の VBA
ですべて処理できるめどがついてきました。前述の、
(1) 〜 (4) は、
AutoCAD 線種定義ファイル復元 AutoCAD
VBA
http://homepage2.nifty.com/kamegai/autocad/index.htm#GetLinetype
で何とかクリア出来ました。
線種定義ファイル復元には、シェイプ名しか利用していませんが、
内部的には、一部不明な部分がありますがシェイプ定義の内容を取得出来ています。
(8)
の、ベースとなる線の分解、に対応するパーツも出来ました。
AutoCAD VBA 線分解プログラム
http://homepage2.nifty.com/kamegai/autocad/LineExplode.htm
・複雑な線種(シェイプ・文字オブジェクトの定義を含む線)には未対応
・複雑な線種を分解すると、シェイプや文字オブジェクトの部分が欠落します
・線幅と線種生成モードを設定してあるポリラインは、分解するとパターンがずれます
あとは、(5)と(7)が出来れば、複雑な線種の分解が可能となります。
ただし・・・とてもスマートとは言えません・・・それに遅いです
VBAにない機能を補う(とプログラムの手間を省く)ために、
SendCommand
を利用した AutoCAD コマンド・AutoLISP
を多用しています。
・・・無理してVBAでなくとも・・・と突っ込まないで下さい。
AutoLISP
でプログラムを組んだことがないんです・・・(笑)
ご使用は、必ずデータのバックアップを取った上でお願いします。
複雑な線種の要素に "シェイプ"
が使用されている線種を分解するには・・・続き2
まだ、複雑な線種の分解は完成していませんが、
AutoCAD
線種定義ファイル復元 AutoCAD VBA
http://homepage2.nifty.com/kamegai/autocad/index.htm#GetLinetype
から、(4)
シェイプ定義の内容を取得する 部分を独立させました。
GetSHPfromSHX シェイプ定義ファイル復元プログラム
http://homepage2.nifty.com/kamegai/autocad/index.htm#GetSHPfromSHX
ご使用は、必ずコンパイル済シェイプファイルのバックアップを取った上でお願いします。
♪同じ名前の方があるようですので改めることと致しました。
複雑な線種の要素に "シェイプ"
が使用されている線種を分解するには・・・続き3
何とか公開できるレベルになりましたので、
正式公開前評価バージョンをアップしました。
線分解プログラム
LineExplode Pro For AutoCAD
VBA
複雑な要素(シェイプや文字オブジェクト)を含む線を、
線のパターンと複雑な要素に分解します。
http://homepage2.nifty.com/kamegai/autocad/DownLoad_LineExplodeProX.htm
★必ずデータのバックアップを取った上でご利用下さい
★正式公開時には、上記のバージョンは削除します
・使用方法(マニュアル等)はまだありません
CALS関連等で指定された線種しか使用できない場合や、
他のCADにデータを渡す必要がある場合等に便利です。
賞味期限が短い(将来のバージョンに搭載される?)かもしれませんので、
お早めにご利用下さい(笑)
主な仕様は、
AutoCAD
VBA 線分解プログラム LineExplode For AutoCAD VBA
http://homepage2.nifty.com/kamegai/autocad/index.htm#LineExplode
と同じです。
複雑な要素(シェイプや文字オブジェクト)はブロックになりますので、
必要であれば分解してください。その他として、
【重要事項】
・SendCommand
を多用しているため?最悪の場合 AutoCAD
が前触れ無く落ちます(笑)
・処理スピードは・・・ものすごく遅いです
・正式公開前評価バージョンですので、実務でのご利用はご遠慮下さい
・今後、仕様等は変更になる可能性があります
【確認できている不具合や仕様など】
・線幅と線種生成モードが設定してあるポリラインは、線のパターンと複雑な要素がずれます
・線の始終点に、不要な要素が作成される場合があります
・曲線部にある要素は、位置がY方向(線と直角方向)で多少ずれます
・線種生成モードが有効のポリライン頂点部付近にある要素は、
位置がX方向(線方向)でずれます
前述(7)では、
『DIVIDE[ディバイダ]
または
MEASURE[メジャー]で、(5)で再現したブロックを配置する』
と書きましたが、この方法では指定した位置に配置するのが難しいので、
配置するブロック1つずつ、位置(座標)と回転(傾き)をAutoLisp関数で算出してしています。
よって処理スピードがとても遅くなってしまいました。
自動机様、
VBAにもAutoLISPと同様の関数(特に曲線計測関数)を搭載していただけないですかね?
追加して
【制限事項】
・サブシェイプ参照には対応していません。
(標準添付のシェイプファイル[ltypeshp.shx]のみの使用であれば影響はありません)
サブシェイプ参照:同じシェイプ
ファイル内の別の定義を参照
多数の不具合修正とオプションの追加しました。
線分解プログラム LineExplode Pro For AutoCAD
VBA 正式公開前評価バージョン
複雑な要素(シェイプや文字オブジェクト)を含む線を、
線のパターンと複雑な要素に分解します。
http://homepage2.nifty.com/kamegai/autocad/DownLoad_LineExplodeProX.htm
★必ずデータのバックアップを取った上でご利用下さい
・すべての線を表示されているパターンどおりには分解できません
(分解するとパターンがずれるケースがあります)
・正式公開時には、上記のバージョンは削除します
何度もすいません。
再度不具合修正しました。
複雑な線種の要素に "シェイプ"
が使用されている線種を分解するには・・・番外編
どなたにもお勧めできる方法ではありませんが・・・
エクスプレス
ツールをご利用できる方は、"txtexp.lsp"
のフィルタに、
文字以外のオブジェクト追加すれば、比較的簡単にオブジェクト(線)の分解が可能です。
具体的には、(0 . "TEXT")
の行の下に
(0 . "LINE") ;直線 (0 . "CIRCLE") ;正円 (0 . "ARC") ;円弧 (0 . "ELLIPSE") ;楕円(弧) (0 . "SPLINE") ;スプライン (0 . "LWPOLYLINE") ;ポリライン |
すいません。
名前が元のままでした。
『文字が逆さになる』は、正確には『複雑な線種の要素の文字が逆さになる』です。
AUG-JP の WishList投票候補
にも上がっているようですし、
暫定公開から半年以上過ぎてしまいましたので、今年中に
『正式公開前評価バージョン』を一端を削除致します。
今のところ、正式公開は未定です。
暫定にて公開を再開しました。
http://www.geocities.jp/kamegai2006/autocad/DownLoad_LineExplodeProX.htm
・必ずデータのバックアップを取った上でご利用下さい
・すべての線を表示されているパターンどおりには分解できません
・その他は、添付されている
readme.txt ファイルをお読み下さい
#前回の書き込みからHPを引っ越しています
バージョンによって、
参照設定エラーで起動すら出来ない不具合を修正しました。
バージョンアップして、正式公開版(Beta Edition)としました。
線分解プログラム Pro For
AutoCAD VBA
LineExplode Pro For AutoCAD VBA Ver.3.00 Beta Edition
http://www.geocities.jp/kamegai2006/autocad/index.htm#LineExplodePro
#プロジェクトのロックは解除しました