BBS移転のお知らせ

ホームページを移転した関係でBBSも移転しています。
その為この旧BBSは現在では使っておりません。

お手数ですが新しいホームページへ移動してください。
新しいホームページは下記のリンクから移動できます。


https://gabin.exp.jp/

GABINソフトのBBS

24042

マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/06/19 (Thu) 18:48:33

はじめまして。

半角カタカナの文字データを全角カタカナに修正できないかと試行錯誤し、こちらにたどりつき、AcTextを使わせていただきました。

素晴らしいソフトだと感じ、感謝しております。

ひとつだけ要望があります。

マルチ引き出し線にも対応したものを作成していただけないでしょうか?

よろしくお願いします。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/07/16 (Wed) 16:15:22

エラーが不定期なら日本語が原因じゃ無いかもしれませんね。
それが原因なら起こるファイルでは100%起こるはずなので。

「不明な例外」というのはプログラムの何処で発生してもおかしくないため場所を特定する材料にはならないのでLispに詳しい人間じゃないと直せないでしょうね。

ただこうゆうケースが今まで無かったのですっかり忘れていましたが、見た感じオープンソースである事みたいな文言が見当たらないのでもしこのプログラムを勝手に改造して他人に公開したら著作権侵害の恐れがあるかも・・・

Re: マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/07/16 (Wed) 09:30:39

GABINさま、

2007以降の形式にしても、ファイルによってエラーが出てしまうようです。

また、エラーの出方も不定期で、
①同じファイルで1度エラーがでる場合→次回のコマンド実行時でもエラーがでる。
②ただし、同じコマンドを繰り返し続けていると(Enterをおし続けるなど)、急にコマンドが通る時があります。

エラーは以下のものが、

『エラー: 不明な例外が発生しました
; 警告: スキップされた個所の巻き戻しです 不明な例外』

発生します。

なので、原因が特定できずじまいです。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/07/16 (Wed) 08:30:03

とりあえずAcTextはもう少し調べて見て他に良い方法が無さそうなら合間を見て正式公開にします。

Lispの方は後から思ったのですが、もしかするとDWGの保存形式が2007以降か以前かで変わるかもしれません。
見た目ではわからないとは思いますがAutoCAD2007から文字の扱いが全然変わっていますので。
問題の起こるDWGの保存形式が古いのなら2007以降に変換してから実行すればパスに日本語があっても動くかも?
別に試したわけではないので自信は無いですが・・・

Re: マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/07/15 (Tue) 14:10:30

GABINさま、

とんでもございません。マルチ引出線内にある半角カタカナをいちいち全角に修正する膨大な作業を考えれば、「マルチ引出線スタイル管理」をワンクリックする位はなんてことない作業です。とても作業の効率が上がり、感謝しております。

Lispに関しては、なるほど~と思いました。パスが大文字か小文字か判別できずエラーが出たのではないかと感じたことがあります。なので、日本語に対応していないというのは納得できます。これをヒントに修正ができるかもしれません。

本当にいろいろとお世話になりました。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/07/14 (Mon) 20:41:17

無事動作したようで良かったです。
こちらは他にもっと方法が無いか探しましたが「マルチ引出線スタイル管理~」と手間が大差無い上やっぱり勝手に余計な修正をしてしまう可能性がある方法しか見つかりませんでしたね・・・
もう少し粘ってみますが現状のβ版がそのまま正式版になりそうな感じです。

あとLispに関してはすみませんが使った事が無いです。
普段LT版で作業しているためLispを使う機会が無いので。
とはいえプログラミング言語はどれも似たような部分があるのでLispを知らなくても半分ぐらいは意味がわかりますからチラッと見てみました。
たぶんですがこれ英語圏で使う事しか考えていないと思います。
パスを変換するという事なのでパスの中に日本語が混ざっていると問題になる可能性が高いとみました。

もしこの予想が当たっていたら・・・Lisp自体が日本語にきちんと対応していないようなので私では難しいですね。

Re: マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/07/14 (Mon) 14:44:22

GABINさま、

お返事が遅くなりまことに申し訳ございませんでした。

只今、確認をしたところ、通常の設定では、ほぼ完璧な動作をしてくれました。

また、左寄せにした時などの状況において、不完全な修正が発生した時も、『マルチ引出線スタイル管理を開いて既存のスタイルをどれか適当に選んで修正状態にし、何も変更しないでokにする』で修正できるので、これで問題なく非常に効率的に処理できるということになりました。

本当に、重ね重ね何度もお答えいただいて、感謝しております。

大切にAcTextを使用していかせていただこうと考えております。

GABINさまのAutoCADに関する知識と技術に敬服する一方なのですが、Lispコマンドに関する知識などはおありでしょうか?

わたくし、現在、図面内にある外部参照やラスターイメージでパスが絶対パスになっているものを、コマンドひとつですべて相対パスに変更できるようなLispを探しておりまして、英語のサイトですが、Xrp2004.lsp(http://www.plantbuzz.com/cad/cad_utils.htm)なるものを発見し、使おうと思ったのですが、
『エラー: 不明な例外が発生しました
; 警告: スキップされた個所の巻き戻しです 不明な例外』
が発生し、途中ではじかれてしまうことがあります。

本来、こちらで質問するのは場違いだと思いましたが、AutoCADの動作にお詳しい、GABINさまなら何かわかるかと思いまして、ここに書き込ませていただきました。アドバイスなどいただければ、幸いです。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/07/09 (Wed) 19:02:49

とりあえず報告のあった現象の回避ぐらいは何とか出来ているので
一端β版をアップしてみます。
このバージョンでは前にも書き込んだように崩れた状態をAutoCAD自身に修正させようとしています。
バッチ処理も2008以外なら対応させてみました。(2008はやっぱり駄目でした)

http://wwwe.pikara.ne.jp/gabinsoft/AcText148beta2.zip

ただいろいろ試してみてわかったのですが、どうやらAutoCADは何らかの変化があると崩れた状態を修正してくれるようでした。
それならAcTextの処理の途中でDXFの貼り付けがあるのにどうしてそこで修正してくれないのだろうと思ったらDXFに限らず貼り付けや移動の場合「同じ座標になるなら修正はしない」事がわかりまして・・・
というわけで現状ではマルチ引き出し線が含まれていた場合は微妙にずれた場所に一端貼り付けてから元の場所に移動させてる事でAutoCAD自身に修正させています。

が、これでもまだ完全ではありません。
改行があってその行数が変わった場合や、右寄せや左寄せなどを行っているとこの方法では崩れた状態が中途半端にしか修正されないからです。

これでも修正してくれる方法は今の所2つあって
1.AutoCAD上でば崩れたマルチ引き出し線を編集状態にしてOKを押す。
2.マルチ引出線スタイル管理を開いて既存のスタイルをどれか適当に選んで修正状態にし、何も変更しないでokにする
がありますが、
1.はひとつひとつ行う必要があるのでAcTextにやらせるのは現実的ではありません。というかひとつひとつ選ぶ手段が無いですし。
2.は全部一気に直してくれますが触っていない分まで修正されるので いくら崩れた図形とはいえ利用者の知らない所で勝手に修正するのはどうかと・・・

他に方法が無いかもうちょっと探ってみます。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/06/30 (Mon) 13:02:25

問題の現象を見てみました。

大雑把にいえばAcTextは文字を書き換えているだけであって線分などの座標は何もしないから発生する現象ですね。
文字のサイズに応じて線分の座標を変える必要があるわけですが、AutoCAD上で編集した場合はエディッタが最後に線分が崩れないように調整しているようです。
ですのでAcTextで変形したマルチ引き出し線をAutoCADで編集状態にして何もせずにOKにすると直ります。

つまりAutoCADに線分のサイズを調整させるか、あるいはAcTextが自力で調整するかなのですが、後者は無理ですね・・・
文字のサイズが固定でないどころか途中でフォントやサイズを変えることまで出来るので正確なサイズを知る事ができるのはAutoCAD自身だけだからです。

と、いうわけでAutoCAD自身の調整させる方法があるのか調べてみます。
とりあえずひとつだけ見つけましたが正直処理時間が長すぎと思えるような手順なのでもっといい方法がないのか検討します。

Re: マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/06/28 (Sat) 16:00:21

GABINさま、

早速の対応をありがとうございました。本当に感謝しております。

只今試してみたのですが、文字が左側にあり、文字のプロパティの左矢印とのアタッチが”先頭行に下線”としている時(引出線が文字の下線になっている)、処理後に引出線が割れてしまうまたは変形してしまうという症状が起きてしまいました。

このような複雑なオブジェクトに対応していただいて感謝ばかりでこれ以上の要望は恐縮なのですが、よろしければ確認していただけると幸いです。

本当に、こんなにも早く対応していただけるとは思っていなかったので驚いています。なんとか、解決していただけることを願っております。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/06/27 (Fri) 08:39:48

とりあえずクリック処理の場合だけですが動作するように出来ました。
バッチ処理の方はこれからなので、バッチ処理ではマルチ引き出し線が無視される状態です。

http://wwwe.pikara.ne.jp/gabinsoft/AcText148beta.zip

なお、2008はサービスパックを当ててもフィルターではマルチ引き出し線を選べませんでした。
今の所他に逃げ道がなさそうなのでやはり2008のバッチ処理ではサポート外にするしかなさそうです。
バッチ処理の最初で行うフィルターを止めさせれば動かすだけなら出来ますけど単純にこれをやってしまうと文字以外の所で弊害が出るので怖いです。
その弊害を回避するためのフィルターなので・・・

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/06/25 (Wed) 08:15:38

マルチ引き出し線がやっかいなのは文字と図形が一体になっている所ですね。

昔からある引き出し線は大雑把にいうと「グループ化された連続線とマルチテキスト」なので文字の部分は単体のマルチテキストと同様なんです。

ダイナミックテキストも、マルチテキストの方がいろいろ出来るので違うように見えますが中身を覗くとほぼ同じだったりします。

なのでAcTextが今まで扱っていた文字というのはいろいろあるように見えて実は同じ方法で扱えていたのです。

しかしマルチ引き出し線はこれらとは全く違う別物なのでプログラムを見直さないといけないわけです。

構造がやっかいだというのもありますが、忙しくてなかなかこちらに手が回らないので少しずつ進めている所です。

Re: マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/06/24 (Tue) 12:29:39

お手数をかけてしまって申し訳ございません。

マルチ引出線。便利なのですが、複雑な構造なのですね。

もともとの図面がマルチ引出線で描かれていて、さらに内容がすべて、半角カタカナで、それを自動で全角カタカナに変換できるAcTextは本当に優れモノなんですが。。。

マルチ引出線に対応してくださることを、待っております。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/06/24 (Tue) 08:32:02

うーん、2008でしたか。

代替え方法を探しましたがちょっと厳しいですね。

AutoCADのサービスパックを当てたら選べるようになるかもしれませんので後で試してみます。
サービスパックの説明文には何も書いてないのであまり期待は出来ないですけど。

その前にマルチ引出線の構造が複雑なのでどうしようかまだ考え中・・・

Re: マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/06/23 (Mon) 20:15:02

返信読みました。

使っているのは2008バージョンです。

対応は難しいでしょうか?(無理であればバッチは仕方ないと思います。)

時間がかかることは、承知で、いつか対応していただけることをお待ちしています。

よろしくお願いします。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/06/20 (Fri) 15:05:15

半角カタカナ→全角様。

マルチ引出線が結構複雑な構造なのでしばらくかかりそうです。

それともう一つ問題点があって、マルチ引出線は2008からの新機能のようですがその2008ではフィルターで選べないという点です。
2009以上であれば選べるんですが2008ではたぶん忘れていたのでしょうね。

クリック処理の場合は関係ないですが、バッチ処理の場合は処理の都合上最初にフィルターをかけるので2008の場合はマルチ引出線が外れてしまう・・・

他に方法が無いか考えていますが、おそらくバッチ処理の場合2008ではマルチ引出線をサポート外にする形になるかと思います。

ところで半角カタカナ→全角様。が使っているAutoCADは2008だったりするでしょうか(汗)

Re: マルチ引き出し線に対応、お願いします。 - 半角カタカナ→全角

2014/06/20 (Fri) 13:52:38

こちらこそ、便利なツールを使わせていただいているうえに、ご厄介をおかけしまして、申し訳ございません。

ご指摘のように、マルチ引出線がとても便利で使っています。現在のAcTextでは、一度このマルチ引出線を分解して、Mtextにしてからでないと、変換できず、分解してしまったマルチ引出線は線と矢印とテキストになってしまい、元の機能が失われてしまいます。

複雑な問題をお願いしてしまったようで、恐縮ですが、対応したAcTextを楽しみに待っております。

よろしくお願いいたします。

Re: マルチ引き出し線に対応、お願いします。 - GABIN

2014/06/19 (Thu) 20:30:13

半角カタカナ→全角様。
AcTextを利用して頂きありがとうございます。

本題の方ですが、正直「マルチ引き出し線って何?」と思っているような有様だったので調べて見たのですが、最近(というか結構前から)のAutoCADには引き出し線のパワーアップ版があったのですね。

そこで対応しようと思ったらどうなるのだろうとマルチ引き出し線の構造を調べて見たのですがちょっと厄介ですね。

他の文字に比べてかなり複雑なので対応はしようと思いますがちょっと時間をください。

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.