一括表示

  Ver 7.12.10 公開 投稿者:管理人  

2009/01/19 7.12.10
・エディタ:全て選択のメニュー項目追加
・スクリプト:PutText()関数の追加

PutText()の使用例はスクリプト投稿コーナーの「注記の書き換え」を参考にして下さい。

2009/01/19(Mon) 19:48:35  [No.1475]


  Re: Ver 7.12.10 公開 投稿者:シェカラ氏  


おはようございます。いつも無理をかけています。

> 2009/01/19 7.12.10
> ・エディタ:全て選択のメニュー項目追加

 随分楽に編集できます。本当に有難うございました。

> ・スクリプト:PutText()関数の追加
>
> PutText()の使用例はスクリプト投稿コーナーの「注記の書き換え」を参考にして下さい。

 これも見様見真似で何かできないか いろいろいじってみます。



 

 

2009/01/20(Tue) 08:43:05  [No.1480]


  Re^2: Ver 7.12.10 公開 投稿者:かず(京都)  

> おはようございます。いつも無理をかけています。

me too(^_^;;

これだけではなんなので、以下、恒例のおまけです。

| function GetEntitie(Id:integer, var EType:integer,
<snip>
| Etype : 要素の種類 「1 : 直線 2 : 時計方向円弧 3:反時計方向円弧 4 :円」

正解:
0:点 1:直線 2:円 3:円弧 4:シンボル 5:楕円 6:曲線 ..<snip> 32:注記 ..<snip>

コピペ修正漏れ:
| function Text <snip> // シンボルを作図します。
| function ArrowText <snip> // シンボルを作図します

あと、投稿スクリプト No.227 で気づいたことですが、レイヤが対象ですから、No.226 の ActivePage(0) をそのまま
ActiveLayer(0);
に置き換えても意味がありませんね。トラップする際に可視化されていれば別レイヤでもトラップ対象になるので、後で不可視化してからスクリプト実行しても FindTrap{First|Next} の対象に入ったままです。
要するに、レイヤ0だけが対象ではありません。記事No:1044で仰ってる曖昧さというのが関係するのでしょうか?

いずれにせよすごく便利です、これ。Erase(id) 付け加えて一発移動。
ありがたく使わせて戴いております:^)

2009/01/20(Tue) 23:43:35  [No.1481]


  Re^3: Ver 7.12.10 公開 投稿者:管理人  

こんにちは。

> これだけではなんなので、以下、恒例のおまけです。
>
> | function GetEntitie(Id:integer, var EType:integer,
> <snip>
> | Etype : 要素の種類 「1 : 直線 2 : 時計方向円弧 3:反時計方向円弧 4 :円」
>
> 正解:
> 0:点 1:直線 2:円 3:円弧 4:シンボル 5:楕円 6:曲線 ..<snip> 32:注記 ..<snip>
>
> コピペ修正漏れ:
> | function Text <snip> // シンボルを作図します。
> | function ArrowText <snip> // シンボルを作図します

なかなか自分では気付かないものです。ご指摘ほんとうに助かります。
次の版で直させて頂きます。

> あと、投稿スクリプト No.227 で気づいたことですが、レイヤが対象ですから、No.226 の ActivePage(0) をそのまま
> ActiveLayer(0);
> に置き換えても意味がありませんね。トラップする際に可視化されていれば別レイヤでもトラップ対象になるので、後で不可視化してからスクリプト実行しても FindTrap{First|Next} の対象に入ったままです。
> 要するに、レイヤ0だけが対象ではありません。記事No:1044で仰ってる曖昧さというのが関係するのでしょうか?

レイヤ0に戻すつもりだったのが、ループの中に入ってしまっていますね。
まあ、私の場合は使い方の例として投稿しているので、参考程度にして下さい。
言語仕様の曖昧さは、元々厳格な仕様書があるわけでもなく、その場しのぎで拡張している面もありますが、下位互換も考慮すると多少変なネーミングが付いたりもします。

しかし、CADの拡張性及び効率化を考えるとスクリプトは強力な武器でもあり、ご活用の範囲を広げたいと思っています。
今後とも宜しくお願いします。

2009/01/21(Wed) 16:00:10  [No.1485]


  Re^4: Ver 7.12.10 公開 投稿者:かず(京都)  

こんばんは。

> 次の版で直させて頂きます。

ありがとうございます。

>> あと、投稿スクリプト No.227 で気づいたことですが、レイヤが対象ですから、No.226 の ActivePage(0) をそのまま
>> ActiveLayer(0);
>> に置き換えても意味がありませんね。トラップする際に可視化さ

> レイヤ0に戻すつもりだったのが、ループの中に入ってしまっていますね。

いえ、そういうことではないのです。
例えば、レイヤ0がアクティブな状態で全てのレイヤを可視化してトラップし、実行すると、レイヤ0以外のトラップ要素も対象になります。アクティブレイヤのみに限定されていないので、アクティブレイヤを復帰させることに意味がないのです。で、おまけに id だけで管理されているような動きで、スクリプト実行時に不可視化されたレイヤのトラップ要素も(トラップされたままなので)対象になります。

スクリプトではスプラインも楕円も描けませんが、id をもとに要素 entitie の page, layer 情報だけ変更できる関数があると全ての etype を自由に動かせて便利だなと、ふと思いました。
;; ディレクトリエントリだけを書き換えるのと同じイメージですね。
;; activepage(), activelayer() のオーバーヘッドがかなり大きいので、切り替えが多いととても重たくなります。

気が向かれたらご検討をお願いします。

> まあ、私の場合は使い方の例として投稿しているので、参考程度にして下さい。

はい、サンプルと書かれてますね。パッケージに入っているのとは区別されると理解しています。

> しかし、CADの拡張性及び効率化を考えるとスクリプトは強力な武器でもあり、ご活用の範囲を広げたいと思っています。

私に関して言えばパターン化できる図面が多いので非常に重宝しております。私の周りでは v6 までの右クリックが不評で触りもしてもらえませんでしたが、v7 でスクリプトを武器に「ええぞぉ〜」って洗脳しているところです:-)
;; 周りは MasterCAM 使ってるので、だったら VBScript 使えと指示したのですが、資料が少なすぎて使い方が判らない(だから全部全部手動で描いている)という返事。sigh.

> 今後とも宜しくお願いします。

いえ、こちらこそ宜しくお願い申し上げます。

2009/01/21(Wed) 20:31:04  [No.1489]


  Re^5: Ver 7.12.10 公開 投稿者:管理人  

> いえ、そういうことではないのです。
> 例えば、レイヤ0がアクティブな状態で全てのレイヤを可視化してトラップし、実行すると、レイヤ0以外のトラップ要素も対象になります。アクティブレイヤのみに限定されていないので、アクティブレイヤを復帰させることに意味がないのです。で、おまけに id だけで管理されているような動きで、スクリプト実行時に不可視化されたレイヤのトラップ要素も(トラップされたままなので)対象になります。

解りました。
移動時に他のレイヤも同時に動かす仕様のため他のレイヤもトラップ可能としたためにスクリプトも同じ仕様にしましたが、FindTrap系は対象レイヤのみに限定します。

2009/01/23(Fri) 13:46:19  [No.1493]