VectorWorksClub北海道
喫茶室
Club北海道
<入門者歓迎です。ベテランのあなた、VectorScriptの普及にお力添えを!>
ご利用規程] [記事を検索過去記事]  バックナンバー] 

ハンドル名
Eメール: 入力不要!:公開されます。
タイトル: 各記事の[返信]で自動入力されます。
メッセージ:改行しながら入力して下さい。*半角カタカナは使用厳禁です!

紹介URL: 1カ所だけご紹介頂けます。
削除キー: 英数字で8文字以内:ご投稿を削除できます。  クッキー保存:次回の入力を省けます。
認証キー: 右の数字を入力して下さい 認証数字 リロードすると数字が変わります。
Page: | 1 | 2 | 3 | 4 |

115  VSによるワークシートの取り出し    タニ     2016/11/24(Thu) 19:18返信

お世話になります。
VS初心者です。

VSで作業中のファイルからワークシートをカンマ区切りのテキストデータで取り出したいと思っています。

取り出しが可能な場合、どのようにすればよいかご指導頂けないでしょうか。

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


114  Re:[113] ハンドルで指定したオブジェクトの検索条件    でる     2016/10/24(Mon) 10:52返信

下記が関係しませんか?

http://developer.vectorworks.net/index.php/VS:GetSymLoc

"You can use this function to retrieve the position of a PlugIn Object, from within the PlugIn Object itself. However, it will only display its position relative to the internal origin. Gerard Jonkers, 2007/01/08: See also my Absolute_Origin article about origins on the VectorLab. "

http://www.vectorlab.info/index.php?title=Absolute_Origin


113  Re:[112] ハンドルで指定したオブジェクトの検索条件    タニ     2016/10/18(Tue) 20:40返信

お世話になります。
VS初心者です。

下記の件、どなたか解決方法をご指導頂けないでしょうか。
よろしくお願いいたします。

> 図面上に複数存在するPIOの挿入点に関してですが、
> ワークシート関数の「=XCOORDINATE」や「=YCOORDINATE」で検出した点と
> VSの「GetSymLoc(symHd,pX,pY);」で検出した点が異なっていました。
> VSでワークシート関数の「=XCOORDINATE」や「=YCOORDINATE」と同じ点を検出するには
> どのような方法がありますでしょうか。
>
> お手数をお掛けいたしますが、
> よろしくお願いいたします。


112  Re:[111] ハンドルで指定したオブジェクトの検索条件    タニ     2016/07/19(Tue) 16:03返信

与太郎 様

ご回答ありがとうございます。
返答が遅くなり申し訳ございません。

改めて質問で恐縮です。

図面上に複数存在するPIOの挿入点に関してですが、
ワークシート関数の「=XCOORDINATE」や「=YCOORDINATE」で検出した点と
VSの「GetSymLoc(symHd,pX,pY);」で検出した点が異なっていました。
VSでワークシート関数の「=XCOORDINATE」や「=YCOORDINATE」と同じ点を検出するには
どのような方法がありますでしょうか。

お手数をお掛けいたしますが、
よろしくお願いいたします。


111  Re:[109] ハンドルで指定したオブジェクトの検索条件    与太郎     2016/07/06(Wed) 18:25返信

タニ様へ

ハンドルの値で直接検索することは出来ませんが、
対象図形のハンドルをhとすれば、
DSelectAll;
SetSelect(h);
if Count((LOC='領域図形の名前') & (SEL=TRUE)) <> 1 then 〜
で図形が領域外かどうかを判定出来ます。

また、一時的に図形に名前を付けて、
SetName(h, '仮名');
if Count((LOC='領域図形の名前') & (N='仮名')) <> 1 then 〜
でも判定出来ます。
名前の重複は許されないので、必ず直後に SetName(h, ''); で名前を消してください。

領域で図形を検索するときの判定条件は、図形の一部でも全体でもなく、
図形の中心が領域内にあるか否かですが、
これはPtInRectやPtInPolyによる判定に置き換えることが出来ます。
xC, xYを対象図形の中心座標とすれば、
if not PtInPoly(xC, yC, GetObject('領域図形の名前')) then 〜
で判定出来ます。

座標による選択は、その座標を含んだ極小な領域で選択後、
個々の座標をチェックして除外すれば良いのではないでしょうか。
最終的に座標チェックは必要なわけですが、PIOの総数が数百程度なら
最初から全部を座標チェクしてもあまり時間はかからないと思います。


110  Re:[109] ハンドルで指定したオブジェクトの検索条件【追記】    タニ     2016/07/06(Wed) 16:55返信

別件で追記です。

挿入点が指定の座標に合致するPIOを選択したいと思っています。

「SelectObj((T=PLUGINOBJECT)&(挿入点の検索条件));」的な感じで出来ますでしょうか。
挿入点の検索条件は設定できないのでしょうか。

下記と合わせて、よろしくお願いいたします。

> お世話になります。
> VS初心者です。
>
> 複数のオブジェクトを1つずつハンドル接続した際に、
> それぞれが指定の範囲外にあるかどうかを検索する方法で困っています。
>
> IFステートメントの制御式に「LOC<>'指定範囲'」を用いればよいのかと思いますが、
> ハンドルと関連付ける方法がよく分かりません。
>
> よろしくお願いいたします。


109  ハンドルで指定したオブジェクトの検索条件    タニ     2016/07/05(Tue) 10:01返信

お世話になります。
VS初心者です。

複数のオブジェクトを1つずつハンドル接続した際に、
それぞれが指定の範囲外にあるかどうかを検索する方法で困っています。

IFステートメントの制御式に「LOC<>'指定範囲'」を用いればよいのかと思いますが、
ハンドルと関連付ける方法がよく分かりません。

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


108  Re:[107] シングルクォーテーションを文字列として結合する方法    タニ     2016/04/14(Thu) 20:37返信

hilfiger様

ご返答ありがとうございます。

「(')を入れる場合、('')と入力する。なので、(')という文字列は('''')になる。」

非常に分かりやすく説明いただき、理解が出来ました。
プログラム言語に詳しくない私にとって、
皆さんからのご返答が非常に勉強になります。

今後もよろしくお願いいたします。


107  Re:[106] シングルクォーテーションを文字列として結合する方法    hilfiger     2016/04/12(Tue) 19:59返信

お役に立てて何よりです。

というかそもそも
『シングルクォーテーションを文字列として結合する方法』
っていうタイトルを見逃して答えるという失態(反省)。

通常文字列は'文字列'と書く。
(')を入れる場合、('')と入力する。
なので、(')という文字列は('''')になる。

という解説を最初からしておけばスマートだった・・・。


('=''',900,'''')の場合、
'が8個。
1つ目が開始、=がきて、23番目''が文字列としての(')、4つめで閉じる。
,900,を挟んで
5つ目が開始、67番目''が文字列としての(')、8つめで閉じる。
ですね。


106  Re:[105] シングルクォーテーションを文字列として結合する方法    タニ     2016/04/12(Tue) 19:51返信

hilfiger様

ご返答ありがとうございます。

教えて頂いた方法で対応することが出来ました。

ちなみに「'」を文字列に含める場合の表記ルールが分かれば教えて頂けないでしょうか。
「Concat('=''',900,'''')」はどの「'」がどのような役割になっているのか
私には理解できませんでした。

お手数をお掛けいたしますが、
よろしくお願いいたします。


105  Re:[104] シングルクォーテーションを文字列として結合する方法    hilfiger     2016/04/12(Tue) 19:03返信

やはり外してましたね。

もう一度確認してみたのですが、
「Concat('='',900,''')」
だと、
「=',900,'」という文字列になる気がします。

「Concat('=''',900,'''')」
かな?と。


104  Re:[103] シングルクォーテーションを文字列として結合する方法    タニ     2016/04/12(Tue) 18:29返信

hilfiger様

早速のご返答ありがとうございます。
説明不足だったため、補足説明をさせて頂きます。

ワークシートに明記している値と図面上のプラグインオブジェクトのレコード値が合致した場合に、
プラグインオブジェクトの数量をカウントしたいと思っています。

「=COUNT()」の検索条件に、値の入ったセルを明記しても上手く処理されません。
Vectorworks2012を使用していますが、恐らく下記リンクのNo.1010の現象かと思います。

http://www.aanda.co.jp/Support/faq-vw2011.html

ワークシートにはすでに複数行の値を入力済みのため、
VSを利用して例えば「900」を「='900'」に打ち変えたいと思っています。
セルの見た目は「900」で問題ありません。

ご返答頂いた「SetWSCellNumberFormat」を私も少し調べてみます。
引続きよろしくお願いいたします。


103  Re:[102] シングルクォーテーションを文字列として結合する方法    hilfiger     2016/04/12(Tue) 17:55返信

質問しかしたことないのですが・・・。

見当はずれかもしれませんが、
単純に手入力で【='900'】と打っても、
セルの設定の数字 が文字になっていないと【900】となることを考えると、

SetWSCellNumberFormat
が解決に役立つかも、と思いました。


102  シングルクォーテーションを文字列として結合する方法    タニ     2016/04/12(Tue) 15:31返信

お世話になります。
VS初心者です。

ワークシートのセルに入力されている数値を文字列に変換したいと思っております。
例えば、「900」と入力されているセルを「='900'」へ変換したいのですが、
VSを「Concat('='',900,''')」と明記しても上手くいきません。

恐らく、シングルクォーテーションの明記が間違っているのかと思いますが、
よく分かりません。

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


101  Re:[100] ワークシートの検索条件    タニ     2016/04/12(Tue) 11:20返信

totoro様・A級初心者様

早速のご返答ありがとうございます。

長年Vectorworksを使用していますが、データパレットのレコードで
個々のオブジェクトに名前が設定できることを知りませんでした。

用紙サイズと同じ長方形をシンボル登録せずに「用紙範囲」と名前をつけ、
ワークシートの数式を「=COUNT(LOC='用紙範囲')」と明記して解決しました。

今後もよろしくお願いいたします。
ありがとうございました。


100  Re:[99] ワークシートの検索条件    A級初心者     2016/04/11(Mon) 22:31返信

「名前を付けられた図形の境界内に位置する図形」の「名前を付けられた」を
「シンボル名を付けられた」と勘違いされたということでしょうが、たしかに
そういう誤解をしそうな呼び方ですね。

試してみたところ、totoro殿の指摘のように、オブジェクトにリソースパレットで
適切な名前をつけてLOCを使えばカウントできます。そして数えたいオブジェクトの
バウンダリーボックスの中心が、境界とする図形に含まれるかどうかでカウントするか
どうかを判定しているようですね。境界を円にしてみたら、計算誤差の問題でしょう、
中心がわずかに境界からこぼれているのにカウントしてしまいました。


99  Re:[98] ワークシートの検索条件    totoro     2016/04/11(Mon) 16:42返信

そういう意味でしたか...

まず、「シンボル名」はユニークな図形の「名前」」(データパレットのレコードの
トップに記入する名前)ではありません。図中においたシンボルの一つ一つに固有の
「名前」を付けることができます。
「LOC='****'」はこの「名前」に反応するので、「シンボル名」では反応しません。

では配置したシンボルにつけた「名前」でご所望の操作ができるかというと
残念ながらできないと思います。シンボルそのものは配置位置情報しか持たないので
そこに「面積=範囲がある」とは認識されないはずです。ですから図形としての
範囲を持っていない扱いになるので、範囲内の図形はカウントできないと思います。

逆に、範囲内の図形としてカウントされることはできるはずです。範囲内に
シンボルの基準点が含まれていればカウントの対象になるはずです。

問題の解決にはならないでしょうが、ここら辺をヒントに別な方法を考えられては
いかがかと思います。


98  Re:[97] ワークシートの検索条件    タニ     2016/04/11(Mon) 10:34返信

totoro様

ご返答ありがとうございます。

ご返答頂いた数式ですと、「用紙範囲」と名前をつけたシンボルの数量を
カウントすることになります。

用紙範囲内にレイアウトされている図形の数量をカウントしたいと思っており、
「Vectorworks 2012 Help」の中の「 Home / VectorScript Language Guide / 検索条件 / 検索条件の表」を確認すると
「LOC」で「名前を付けられた図形の境界内に位置する図形」という検索条件が明記されていました。

説明不足で分かりにくく申し訳ございません。
よろしくお願いいたします。


97  Re:[96] ワークシートの検索条件    totoro     2016/04/08(Fri) 10:47返信

> 名称「用紙範囲」でシンボル登録し、

なら

=COUNT(S='用紙範囲')

じゃないかな?


96  ワークシートの検索条件    タニ     2016/04/08(Fri) 10:24返信

お世話になります。
VS初心者です。

ワークシートで用紙範囲内の図形の数を集計したいと思っています。
用紙と同サイズの長方形を名称「用紙範囲」でシンボル登録し、
セルの数式を下記のように明記しましたが集計されず「0」と表示されます。

=COUNT(LOC='用紙範囲')

検索条件の使い方が間違っているのでしょうか。

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


95  Re:[94] 共有リソースのワークシート取り込み    タニ     2016/03/15(Tue) 16:43返信

共有リソースのワークシート取り込みの件、
自己解決しましたので投稿いたします。

下記のVSを利用して解決しました。


listID:=BuildResourceList(18,13,'Favorites',numItems);
WS:=ImportResourceToCurrentFile(listID,1);

・「18」:ワークシートの種類番号
・「13」:「Libraries」フォルダの番号

共有リソースのショートカットが保存される「Favorites」フォルダは
下記の場所に隠しフォルダとして存在しました。

(Windows版 Vectorworks2012の場合)
C:\Users\UserName\AppData\Roaming\Nemetschek\Vectorworks\2012\Libraries\Favorites

ただし、この方法では共有リソースのショートカットからワークシートが読み込まれなかったため、
「Favorites」フォルダ内のショートカットを.vwxデータに入替えて取り込むことが出来ました。

正しい解決方法かどうか分かりませんが、
WEB検索を駆使して何とかたどり着きました。

今後もよろしくお願いいたします。


94  共有リソースのワークシート取り込み    タニ     2016/03/11(Fri) 14:57返信

お世話になります。
VS初心者です。

毎回質問ばかりで申し訳ないですが、
私の力ではどうにも解決できないため投稿させて頂きます。

あらかじめ共有リソースに登録してあるファイルのワークシートを
VSで取り込むことは可能でしょうか。
これが出来ると作業効率が改善し、図面作成時のミスが減るのですが。。。

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


93  Re:[91] 寸法線のクラス設定変更    タニ     2016/03/11(Fri) 14:34返信

A級初心者 様

コメントありがとうございます。

私はVSの知識が無いため、質問してばかりで申し訳ないです。

A級初心者様のコメントで助けられることばかりですので、
今後もお時間があるときにコメントして頂けると助かります。
どうぞよろしくお願いいたします。

寸法クラスの件は、「PrefTF:=GetPref(44);」で既存の設定を取得しておき、
「SetPref(44,FALSE);」で寸法線のクラス設定を変更して、
最後に「SetPref(44,PrefTF);」で元の設定に戻すようにしました。

分らないなりに考え始めると、いろんなことをやりたくなるのですが、
なかなか解決策が見出せずこのサイトで助けて頂いています。

私もどなたかのお役に立てるよう、引き続き勉強させて頂きます。
よろしくお願いいたします。


92  Re:[91] 寸法線のクラス設定変更    管理人     2016/03/10(Thu) 17:05返信

> 私のVectorScript力はいっこうに向上しないので、しばらく黙りますね。>管理人さん

いえいえ、黙らないで下さい。
できれば、お時間のあるときに、VectorScript関連のひとり言をつぶやいて頂ければ感謝です。

あっちこっち飛び回る、統一テーマ無しの思い付きで結構です。
VectorScriptの例文でも、一つのコマンドの意味でも、プログラムの作法でも、何でもありで。

スクロールしないサイズなら、管理人のような入門希望者でも、読めると思います。
あ、もちろん、今すぐでなくても、気が向いたときに、来週でも、半年後でも、隔月でも。

カウンターによると、Script談話室のROMさんは少なくありません。
興味や大切さを理解されていても、書き込むのは難しいですから。


91  Re:[90] 寸法線のクラス設定変更    A級初心者     2016/03/10(Thu) 14:14返信

タニさん

お役に立てたようで何よりです。
ただし寸法線が寸法クラスに入るのがデフォルトであることの意義を考えると
むやみに設定を変えるのはエンドユーザーにとっては混乱の要因になる恐れがあり、
そういう意味での難しさが残りますね。デフォルトのまま、いったん寸法線クラスに
書いた後で、クラスを移動した方が混乱が少ないのではないかと思います。
こういう設定も含めてpush/popできる仕様になっていればいいのですが、
現状ではpush/popできる項目が少なすぎますね。

さて、おかげで、自分でハンドルを入力ミスし続けていたことに気づきました。
老眼にコピペは禁物ですね。ハンドル名に正しいも正しくないもないでしょうが、
自分的には「A級初心者」が正しいです。

でも、最近、二人の会話みたいになってきているし、私のVectorScript力は
いっこうに向上しないので、しばらく黙りますね。>管理人さん


90  Re:[89] 寸法線のクラス設定変更    タニ     2016/03/10(Thu) 12:10返信

A級初心者 様

早速のご返答ありがとうございます。
教えて頂いた方法で対応できました。

推論のご指摘、しっかりと肝に銘じます。

その他、以前お名前を間違えて明記してしまっていました。
申し訳ございませんでした。

今後もよろしくお願いいたします。


89  Re:[88] 寸法線のクラス設定変更    A級初初心者     2016/03/09(Wed) 18:25返信

どこを探せば方法が見つかるかを推測することから始めます。

デフォルトでは寸法は寸法クラスに入ってしまいます。
目的を達成するためには、このデフォルト設定を覆す必要があるので、
そういう設定が可能かどうかを調べる必要が生じます。

そこで、マニュアルで「寸法クラス」を検索すると、「ファイル>書類設定>
寸法>寸法を寸法クラスに作成する」という設定があることが分かります。

次はVectorScriptです。

VectorScript Function Referenceのどの部分にどのような内容があるかは、
VectorScriptをやる以上は当然把握しておくべきことなので、直ちに、
各種設定を司る内容が記されているAppendix F - Preference Selectors が
思い浮かびます。

そうすると、"Create Dimensions in Dimension Class" という項目があります。

ということは、SetPrefでできそうだということが分かりました。

色数のこともそうですが、こういう推論はプログラムの基本知識とは関係ないですよ。


88  寸法線のクラス設定変更    タニ     2016/03/09(Wed) 14:24返信

お世話になります。
VS初心者です。

VSで下記を使用して寸法線を作成しようと思うのですが、
寸法線のクラス設定の変更方法がよく分かりません。

LinearDim(startPtX, startPtY, endPtX, endPtY : REAL; offsetDistance : REAL; dimType, arrow, textFlag : INTEGER; textOffset : REAL);{

NameClass(className : STRING);でクラスを指定した後に
LinearDimを明記しても通常通りの「寸法」クラスで設定されてしまいます。

初歩的な内容かもしれませんが、よろしくお願いいたします。


87  Re:[86] ハッチングの面の色番号について    タニ     2016/03/09(Wed) 14:16返信

A級初心者様

早速のご返答ありがとうございます。

私の知識に8ビットの色数と16ビットの色数の認識がありませんでした。
VSを見よう見まねで作成すると、プログラムの基本知識が無い私にはつまづく点が多々あり
勉強になります。

今後もよろしくお願いいたします。


86  Re:[85] ハッチングの面の色番号について    A級初初心者     2016/03/09(Wed) 00:36返信

自己レスで失礼。

> VectorScript Reference "RGB values are in the range of 0~65535. "

日本語マニュアルにも書いてありましたよ。
「値の範囲は0から65535までです。」

ところで、230だと真っ黒、59110だと薄いグレーになることから、
8ビットカラーでないことは容易に想像できると思います。
だから前の書き込みのような計算をして確認してみた次第ですが、
VectorScriptと関係ないところでも、カラーパレットにはどう見ても
8ビットでは表現できない色が並んでます、、。(^_^;)


85  Re:[84] ハッチングの面の色番号について    A級初初心者     2016/03/09(Wed) 00:29返信

VectorScript Reference "RGB values are in the range of 0~65535. "

0〜65535までの整数の数 = 65536 = 16ビットの色数
一方、8ビットの色数=256

230 ÷ 65536 = 0.003509521484375 ≒ 0
65536 ×(230/256)= 58880 ≒ 59110
(59110/65536) × 256 = 230.8984375 ≒ 230

http://developer.vectorworks.net/index.php/VS:RGBToColorIndex


84  Re:[83] ハッチングの面の色番号について    タニ     2016/03/08(Tue) 18:34返信

お世話になります。

ハッチングの面の色番号の件、さらに色々試してみたところ
下記の方法で解決しました。

■解決方法
RGBToColorIndex(59110,59110,59110,color);
BeginVectorFillN(hatchName,FALSE,FALSE,color);

■ダメだった方法1
BeginVectorFillN(hatchName,FALSE,FALSE,1236);

■ダメだった方法2
RGBToColorIndex(230,230,230,color);
BeginVectorFillN(hatchName,FALSE,FALSE,color);

何故だか分かりませんが、「RGBToColorIndex(59110,59110,59110,color);」と
「RGBToColorIndex(230,230,230,color);」で取得したcolorIndexはおなじ「1236」のようです。

やりたいことは出来たのですが、なぜこのような事が起こるのか理由が知りたいです。
よろしくお願いいたします。


83  Re:[82] ハッチングの面の色番号について    タニ     2016/03/08(Tue) 17:10返信

お世話になります。

ハッチングの面の色の件、面の色を無しにする方法は下記で自己解決しました。

objectHandle:= GetObject(hatchName);
SetObjectVariableBoolean(objectHandle, 661, TRUE);

アクティブファイルのカラーリストに無い色の設定方法の件のみ
教えていただけると助かります。

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


82  ハッチングの面の色番号について    タニ     2016/03/08(Tue) 16:24返信

お世話になります。
VS初心者です。

VSにてハッチングを指定したいと思っているのですが、
下記で面の色番号(1236:グレー)を指定しても黒くなってしまいます。

BeginVectorFillN(hatchName,FALSE,FALSE,1236);


アクティブファイルのカラーリストに無い場合でも「RGBToColorIndex(230,230,230,color);」で確認すると
色番号:1236と出ますが、指定不可でしょうか。

その他、面の色を無しにすることは可能でしょうか。


いろいろ試してみましたが、理解できませんでした。
よろしくお願いいたします。


81  Re:[80] プラグインオブジェクトを常に指定のレイヤへ描画したい    A級初初心者     2016/02/24(Wed) 21:05返信

タニさん、ご説明ありがとうございました。

レイヤ(デザインレイヤ)固定の主たる意義はヒューマンエラー対策であると
理解しましたが、それでよかったでしょうか。

そして目的の処理は、特定のPIOすべてにレコード値を紐付けることだと思います。
不特定多数の人が、不特定多数のレイヤを作りながら作業している場合は、
いろいろな困難が伴って大変ですね。

またVectorWorksのデザインレイヤとクラスのコンセプトからは、
レイヤ固定という考え方はVectorWorksに馴染まないような気がします。

とすれば、レイヤを固定するのではなく、(ネガティブではあるけれど)レイヤの
構成が各人各様であることを前提として、レイヤを順次切り替えながら各レイヤごとに
処理する方がやりやすいのではないかと思います。

私のVectorScript能力はゼロに近いので、具体的なスクリプトをご呈示できなくて
申し訳ありません。うまくできたら、ここでで紹介していただけるとありがたいです。


80  Re:[79] プラグインオブジェクトを常に指定のレイヤへ描画したい    タニ     2016/02/23(Tue) 11:45返信

A級初初心者 様

質疑頂いた件、ご返答が遅くなり申し訳ございません。

プラグインメニューで下記のような処理を検討中です。
指定したレイヤにPIOが入っていないと正確に処理されません。


SelectObj(検索条件); {検索条件に合致したPIOを選択}
obj:=FSObject(layerName);  {ハンドルで指定したレイヤ上で選択されている最上位の図形のハンドル}

WHILE (obj <> NIL) DO
BEGIN
SetRField(obj,'レコード名','レコードフィールド名',値);  {ハンドルで指定した図形に連結しているレコードフィールドに値を設定}
obj:=NextSObj(obj);
END;

条件としては、不特定多数の方が使用する予定のため、
各自が自由に作成したレイヤに入らないようにしたいと思っています。

尚、レイヤに関係なく同じような処理が可能であれば、
PIOを指定のレイヤに入れる必要はないと思っています。

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


79  Re:[78] プラグインオブジェクトを常に指定のレイヤへ描画したい    A級初心者     2016/02/10(Wed) 12:03返信

回答ではありません。

レイヤが固定されるような機能の必要性が分からないので、
どのようなシーンで役立つのかご教示いただければありがたいです。


78  プラグインオブジェクトを常に指定のレイヤへ描画したい    タニ     2016/02/10(Wed) 10:11返信

お世話になります。
VS初心者です。

VSを利用してプラグインオブジェクト(PIO)を作成しています。

作成したPIOを貼り付けたり、複製したりした際に
常に指定したレイヤのみに描画したいと思っています。

Layer(name:STRING);でレイヤを指定した場合、
PIOをツールから図面へ最初に貼り付けた際は指定のレイヤに描画されます。

しかし、貼り付けたPIOをデータパレットで他のレイヤに移してしまうと、
その後はコピペすると他のレイヤのままになってしまいます。

指定のレイヤのみに描画するVSの組み方を教えて頂けないでしょうか。

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


77  Re:[76] ブラグインメニュー実行中のアラート表示    A級初心者     2016/01/29(Fri) 22:11返信

リロードしてなかったみたいで、私のレスのタイミングがおかしかったですね、失礼。


76  Re:[74] ブラグインメニュー実行中のアラート表示    A級初心者     2016/01/29(Fri) 17:16返信

「処理中」は、MessageとClrMessageでメイン処理を挟みます。
「処理完了」は、Message→Wait→ClrMessageか、AlrtDialog単独のどちらかで。

あまりにも初歩的なやり方で申し訳ないですが、初心者の限界ということでご容赦を。


75  Re:[74] ブラグインメニュー実行中のアラート表示    タニ     2016/01/29(Fri) 16:36返信

A級初心者 様

お世話になります。

メッセージウィンドウでのアラート表示の件、

・PROCEDURE Message ( z :ANY ) ;
・PROCEDURE ClrMessage ;

上記を使って出来そうですね。
勉強不足で申し訳ございません。

今後もよろしくお願いいたします。


74  Re:[73] ブラグインメニュー実行中のアラート表示    タニ     2016/01/29(Fri) 16:00返信

A級初心者 様

ご返答ありがとうございます。

アラートにはこだわっていないため、
メッセージウィンドウで出来るようであれば参考にさせて頂きたいです。

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


73  Re:[72] ブラグインメニュー実行中のアラート表示    A級初心者     2016/01/29(Fri) 09:29返信

アラートの表示文字列を切り替えるのではなく、
メッセージウインドウを出したり消したりするのでも
画面上で起きることは同じだと思いますが、
それではダメでしょうか?


72  ブラグインメニュー実行中のアラート表示    タニ     2016/01/19(Tue) 16:52返信

お世話になります。
VS初心者です。

VSでプラグインメニューを作成し、実行すると処理に10秒程度時間がかかります。
処理中の画面に「計算中・・・」のようなアラートを表示し、
処理が問題なく終わると「処理が完了しました。」のようなアラートに切り替わるVSを組むことは可能でしょうか。

何となく、下記あたりを使用して出来そうに思っていますが、
アラートの切り替え方がよく分かりません。

・PROCEDURE AlrtDialog ( message:STRING ) ;
・PROCEDURE Message ( z :ANY ) ;

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


71  Re:[70] forward    msg     2015/11/30(Mon) 18:46返信

これで最後にしますが、予約語が将来的に手続き・関数として使われる可能性はないでしょう
Pascal言語について調べてみますと、forward宣言というものがあるようです
将来的にVectorScriptで、forward宣言が利用可能になることはあるのかもしれません
できると便利です

現在のFunction Referenceのforwardに関する表記は誤りといっていいものだと考えます
速やかに訂正されるべきでしょう


69  Re:[68] forward    msg     2015/11/29(Sun) 19:56返信

与太郎さん、「DoMenuTextByName」一案だとは思いますが次善の策だと思っています
スクリプト自体は完成していて動作も問題ないのですが、「Forward」の扱いに疑問があるのです

隠居さん、確かにマニュアルにある「将来使用する可能性があるために予約されている予約語」一覧に「FORWARD」がありました
となると、なんで「Function Reference」に載せてあるのか?ですよね

既知の障害くさいのでサポートに聞ければ良いのですが、私のバージョンはすでにサポート切れしてますので・・・

http://developer.vectorworks.net/index.php/VS:Forward


68  Re:[67] forward    与太郎     2015/11/29(Sun) 00:36返信

Forward; が使えないなら、DoMenuTextByName('Send Forward'); でメニュー・コマンドを実行したら上手くいきませんか?


67  Re:[66] forward    隠居     2015/11/28(Sat) 23:18返信

「VectorScript reserved for possible future use」で検索したところ、
下記のURLのドキュメントのp.8に下記の説明がありましたよ。
(msgさんが挙げているHPで、"VectorScript language guide"で検索すれば
 ヒットします。)

The following table lists reserved words which have no current meaning to the VectorScript compiler, but have been reserved for possible use in the future. You should also avoid using them in your scripts, as they may cause problems
with future versions of the language.

で、ふと思って、探したら、VectorWorks 2008は、VWHelp > VS Language Guide の
中にばっちり書いてありました。

「次の表は、VectorScript コンパイラでは今のところ意味を持ちませんが、
将来使用する可能性があるために予約されている予約語です。これらの単語を
使用することは避けてください。使用すると、言語の将来のバージョンで
問題が発生することがあります。」

要するに上の英文の翻訳です。

http://developer.vectorworks.net/images/7/72/VectorScriptGuide.pdf


66  Re:[65] forward    msg     2015/11/28(Sat) 17:06返信

そうなのですが、コンパイルすると「 Error: Word reserved for possible future use. 」
がでます
私の環境だけなのか、不思議に思っているのです
「HMoveForward」が併記されているので、実際にはこっちしか使えないのかとも考えています
「Backward」にはないですし
何か情報があればお願いします

http://developer.vectorworks.net/index.php/VS:Forward


65  Re:[64] forward    隠居     2015/11/28(Sat) 10:53返信

お書きになったHPに、

"Availability: from All Versions"

と書いてあるから、全バージョン対応でしょう。


Page: | 1 | 2 | 3 | 4 |
記事No 削除キー

- LightBoard -