DWG のテキストの回転方法

22 views
Skip to first unread message

TJ

unread,
Jun 7, 2018, 6:15:34 AM6/7/18
to FMEユーザーフォーラム
FME 20180.0.1.0

DWG にある角度付きのテキストを180度回転したいです。Rotator を使って Rotation Angle (degrees) を180に指定し、結果を再度DWGに出力しています。しかし、出力した DWG のテキストの角度は元々の角度+180度ではなく、180度になっています。ポリラインでテストしましたが、このような問題が起きませんでした。テキストを回転したい場合、どうのように設定すればよろしいでしょうか。それとも何かのバグでしょうか。

元DWG


ワークスペース


出力DWG


Auto Generated Inline Image 1
Auto Generated Inline Image 2
Auto Generated Inline Image 3

Takashi Iijima

unread,
Jun 7, 2018, 6:55:17 AM6/7/18
to FMEユーザーフォーラム
フォーマットによっては、Rotator での Text の回転結果がうまく適用されないことがあります。
TextPropertyExtractor でテキストのプロパティ(回転角度は _text_rotation)を属性として抽出し、TextPropertySetter によって変更したい属性を更新してみてください。
回転角度の単位は「度」です。
この場合は、_text_rotation + 180 を Text Rotation に設定すればできると思います。 

TJ

unread,
Jun 7, 2018, 8:31:27 PM6/7/18
to FMEユーザーフォーラム
TextPropertyExtractor と TextPropertySetter で試してみた結果、FME Data Inspector で確認すると角度が変わっていましたが、出力したDWGで確認すると角度が変わりませんでした。

そのほか、リーダーとライターの autocad_rotation, fme_rotation 属性を公開して、それぞれの値を180どを足して試しましたが、どちらも FME Data Inspector で確認すると角度が変わっていましたが、出力したDWGで確認すると角度が変わりませんでした。

autocad_text_rotation 属性も試してみましたが、これの場合、値を変更しても、 FME Data Inspector と出力したDWG両方変わりませんでした。

TJ

unread,
Jun 7, 2018, 9:13:43 PM6/7/18
to fm...@googlegroups.com
以下の Q&A の最後のmark2catsafeさんのコメントをヒントに解決いたしました。

How to define the rotation angle of annotation? (SHP to CAD)


結論から言いますと、mark2catsafe のアドバイスのように、autocad_original_rotation を設定することで、出力した DWG のテキストの角度を正確に制御することができます。
但し、検証してみた結果、ACAD リーダーから読込んだとき、autocad_original_rotation が null ですので、初期の角度はautocad_rotation, fme_rotation から 或いは TextPropertyExtractor で取得する必要があります。また、今回の場合、元のテキストの中心を基点に回転したいので、autocad_original_rotation だけ変更すると、元のテキストの左下(デフォルトの基点)を中心に回転されてしまうため、一旦元のテキストのボックス範囲を取得した後、ボックスの中心点を基点して、Rotator を使って180度回転後、回転後の autocad_rotation を autocad_original_rotation に付与しています。
こうすることで、FME Data Inspector と 出力 DWG の両方確認できました。

Auto Generated Inline Image 1

Takashi Iijima

unread,
Jun 7, 2018, 9:20:14 PM6/7/18
to FMEユーザーフォーラム
情報共有ありがとうございます。
なるほど、autocad_original_rotation が必要だったのですね。ひとつ勉強になりました。

TJ

unread,
Jun 7, 2018, 9:43:01 PM6/7/18
to FMEユーザーフォーラム
なかなか分かりにくいところでもありますね。

ちなみに、DWGStyler には Text の Rotation を指定するパラメータがありますが、こちらで指定しても効きませんでした。
これは改善すべきだと思います。

Takashi Iijima

unread,
Jun 7, 2018, 9:45:30 PM6/7/18
to FMEユーザーフォーラム
同感です。
FME Knowledge Center の Ideas で、強化・改善を提案してはいかがでしょうか。

TJ

unread,
Jun 7, 2018, 10:08:22 PM6/7/18
to FMEユーザーフォーラム
そうですね、時間があるとき整理して提案してみます。

TJ

unread,
Jun 11, 2018, 5:05:37 AM6/11/18
to FMEユーザーフォーラム
先ほど FME Knowledge Center の Ideas に提案いたしました。

Fixed issue where DWGStyler could not rotate text


また、autocad_original_rotation を設定できるカスタムトラスフォーマー DWGTextRotator を作ってみました。回転の基点は文字の中心か、左下かを指定できるようにもなっています。
DWGTextRotator.fmx

Takashi Iijima

unread,
Jun 11, 2018, 5:21:03 AM6/11/18
to FMEユーザーフォーラム
改善の提案、およびカスタムトランスフォーマーの共有、ありがとうございます。
Reply all
Reply to author
Forward
0 new messages