【VectorScript】 私のプログラミング言語体験

VectorScriptについていくつか書いたついでに、私のプログラミング言語体験を思い出しながら書いてみます。誰の役にも立たない内容かも知れませんが、私が現在VectorScriptを使う上で、あるいは、いろいろなソフトをトラブルを最小にしながら使う上で、以下の経験がとても役に立っています。いきなりVectorScriptを始めるのはハードルが高い気がする場合は、現時点では手始めにSqueakに触ってみるといいと思います。

*

以下、思い出しながら記すので、時系列はあっちこっちします。

APL

大学1年のときに、ある研究室でデータ入力の手伝いをしたことがありますが、このときのプログラムがAPLで書かれていました。IBMのAPL専用マシンでAPL独特の記号がキーボードに並んでいました。自分自身では書きませんでしたが、プログラムの中身をちょこちょこ見たりしていました。私がAPLとApple IIの違いすら知らなかった頃のお話です。

プログラミング電卓のBASIC

友人のSHARPの関数&プログラミング電卓には階乗計算が標準搭載されていなかったので、説明書と首っ引きで内蔵BASICで作ってみました。実行速度がとんでもなく遅かったです。たぶんこれが最初のプログラミング体験です。ディスプレイに一行しか表示できなかったので、それなりに大変で、これがマイコンが欲しいという気持ちに繋がりました。

F-BASIC

新宿の西口界隈をぶらついていたら、ある店の前で高校の同期に呼び止められました。その店はCSK、当時はマイコンの小売りなんかもやっていましたが、友人はそこでアルバイトしているそうでMZ-2000の中古を買わないかと持ちかけられ、すっかり買う気になっていたら、元所有者の都合でドタキャン。そして、その勢いのまま発売されたばかりのFM-7をローンで買いました。FM-7に搭載されていたのがBASICです。当時主流であったNECのBASICとはちょこちょこ違いがありましたが、便利になる側に働く相違でした。当時はプログラムが掲載された月刊誌が複数発売されていたので、それらを打ち込みながら学習しましたが、大したものは作りませんでした。雑誌に掲載されるのはN-BASIC用のプログラムばかりだったので、それらをF-BASICに移すのは良い学習になりました。

Fortran

FM-7はモトローラの6809という8ビットCPUを積んでいましたが、当時の8ビットCPUはZ-80が主流でした。FM-7には別売でZ-80カードが存在し、それを入れるとCP/M-80というOSを動かせました。CP/M-80はOSなので、その上でいろいろな言語を動かせました。そのひとつがFortranです。当時のパソコン雑誌にFortranを使った3Dパッケージが掲載されていて、それを使ってパース作成プログラム(今で言う3D-CAD)を作りたくてFortranをかじりました。

FortranはBASICのベースであったと思うので、わりとすんなり入れましたが、入出力の面倒くささには辟易しました。BASICから見ると、Fortranの入出力は古かったです。パース作成プログラムも、データの格納(データベース構築)で行き詰まって挫折しました。でも汎用性を持たせることの重要さと大変さ、インタフェース設計の重要性を痛いほど理解できたのが良かったです。

BASIC-09

FM-7で動いたOS-9上で動く構造化BASICです。「OS-9はMacintoshだ、おまえは間違えている」と主張する変な人がいて困ったことがありますが、MacのOS-9よりずっとずっと前に登場したものです。

BASIC-09は構造化されていたので、強いて言えば、通常のBASICとPascalの間にあるような言語でした。構造化されているからF-Basicで書くものより、ずっとずっと美しく分かりやすいプログラムを書けました。

OS-9がマルチタスクだったので、640×480の画面を田の字に4分割して、それぞれで異なるリサジュー図形を書かせたりして遊んでいました。8ビットCPUでのマルチタスクだから、田の字に分割した画面すべてに線画のリサジュー図形を書くのに丸1日かかったりしていました。

LISP, Prolog

これらはCP/M-80、OS-9、MS-DOSなどでやったと思います。考え方にはとても興味を引かれていましたが、Prologでとても小規模なSiriっぽいプログラムを作って終わりました。

LISPはAutoCADに搭載されたAutoLISPへの興味が大きかったのですが、AutoLISP自体を使う機会がありませんでした。

LOGO

亀さんを動かして遊んだ程度です。私には、何の役に立つのか全く分かりませんでした。

Turbo Pascal

記憶が定かではありませんが、PC-9801でやっていたと思います。Pascalの特徴は構造化されていて、BASICみたいなスパゲッティにならない(というよりスパゲッティを作りにくい)点が大きな特色だと思います。しかし、私は構造化できるBASIC-09を知っていたので、Pascalは非常に面倒くさい言語だという印象しかもちませんでした。私のPascal嫌いはここに始まります。その後、Turbo Pascal以外のPascalに触ったこともありますが、入り口を入ってすぐに逃走しました。ところが今もっとも使う言語はPascalライクなVectorScriptであるという悲惨な状況です。

dBASE

初めて触ったのはCP/M-80版です。本格的に使ったのはPC-9801のMS-DOS版でした。これを言語と言ってよいのがどうか分かりませんが、dBASEは素のままでは大変に素っ気ないデータベースプログラムで、搭載されているdBASE言語で実用的なものを作る必要がありました。ほとんど個人的な趣味としてやっていましたが、『図説年表 西洋建築の様式の年表を複数人で執筆するときに、データ入力と整理のためプログラムを書きました。他のメンバーはデータベースソフトに触るのが初めてだったので、インタフェースを親切にしているうちに200行を超えました。不親切なインタフェースだったら半分くらいで済んだと思います。

dBASE言語は目的がはっきりした言語だったので、使いやすいし、実用性の高いプログラムが容易に書けました。私が最ものめりこんだ言語です。一方で、プログラミング言語でアプリケーションを作ることのハードルの高さを思い知らせてくれたのもdBASE言語でした。データベース用に特化されたdBASE言語と、汎用の言語では必要なリソースもエネルギーも桁違いだということ、dBASEのようなまともなアプリケーションを作るためにはその筋のプロになる必要があることをdBASE言語が気付かせてくれたのです。この経験から私はプログラミングをやめ、アプリケーションユーザに徹することにしました。

MILC

MS-DOS時代に愛用していたMIFESに内蔵されていた言語です。Cベースだったので、MILCはCへの入り口となってくれました。たとえば、ファイラーソフトのFDを呼び出すとか、メール用に一定文字数ごとに改行を入れるとか、あるいはそれを復元するとか、かゆいところに手を届かせるための数行から数十行程度のマクロをあれこれ作っていて、それらをNifty-ServeのMIFESのフォーラムにアップしていたら、Oh!PCと、なんとかムックに掲載されました。原稿料は一方が現金5000円、もう一方が図書券5000円分でした。当時は貧乏学生だったので大いに助かりました。

自分にとって「実用的な」プログラムはMILCで作ったものが多かったです。

Turbo-C

Cについてはポインタというものがなかなか理解できずに手間取りました。内容は忘れましたが、数十行程度のものは書けるようになっていました。関数自体に返値があることを理解できたのが自分にとっては画期的で、これがVectorScriptのハンドル理解に役立ちました。Cについては、その後はMS-Cなどにちょこちょこっと触ったくらいで、そのうちにC++がでてきましたが、プログラミングをやめてアプリケーションユーザに徹すると決めた後だったので、C++の経験はありません。

FORTH

スタック指向とか逆ポーランド記法に興味を引かれてかじってみましたが、使う目的が見つからなかったので、学習本を少し勉強しただけでやめました。FORTHと言えば、日本語Mindもかじったなぁ、、、。

QBASIC

BASIC-09に似ていてとっつきやすかったこともあり、趣味的に数百行くらいの図形を扱うプログラムをいくつか書いた記憶がありますが、何か役に立つものを書いた記憶はありません。

N-BASIC

NECのBASICです。イスタンブールの、とある歴史的建造物の調査に参加したとき、光波測距機を借りられることになりました。そこで当時はまだ無名だったロボット専門家の友人・山海君に頼んで一定のピッチで光波測距機を動かすロボットを作ってもらって、それの制御と計測値取得のためにN-BASICでプログラムを書きました。このとき、なぜN-BASICを使ったかというと、調査に持っていくラックトップPCがNEC製だったからです。測距機とPCはRS-232Cで繋げました。

調査後は、距離と角度から空間座標を算出し、メッシュで表現するプログラムを書きました(記憶が曖昧ですが、たぶんQBASIC利用)。これにはけっこう骨が折れました。今だったらExcelのグラフで表現したか、あるいは、VectorScriptで書いたでしょう。

DesignCAD内蔵のBASIC??

1990年代前半ごろ(?)に存在していたDesignCADという3D-CADに、カスタマイズのためのBASICが内蔵されていたような記憶があります。当時のPCのパフォーマンスでは3Dはまともに動かなかったので、たいしたことはできませんでした。

Squeak, Scratch

Squeakは、長い間、SmallTalkというものに興味があったので使ってみましたが、プログラムを書くのをやめて久しかったので雰囲気を味わって終わりです。Scratchは子供にプログラミング言語を体験させるために使ってみただけです。プログラミング入門には適していると思います。

SED

プログラミング言語と言えるのかどうか知りませんが、MS-DOS時代にはテキスト処理によく使っていました。その後、同様のことができるプログラミング言語としてAWKが広まったようですが、必要なかったので使っていません。

MS-DOSバッチファイル

これもプログラミング言語とは言えませんが、言えるのかどうか知りませんが、かゆいところに手を届かせるために、今でもよく使います。ほとんどが大量のファイルを扱う処理なので、エディタではなくExcelで作ることが多いです。

VectorScript

Pascalベースなので読めばほとんど意味が分かる点は良いのですが、大嫌いなPascalベースだから敬遠していました。しかし20年ほど前、授業で教科書にしていた本の記述通りに進まない箇所の原因を探っているうちに、VectorScriptに行き着いてしまって、それ以来、ちょこちょこと使うようになりました。私にとっては、MIFESでMILCを使うのと同様で、かゆいところに手を届かせるためなので、大きくても数十行程度です。一度、Vectorworksにない機能を補完する必要に迫られて数百行ものに挑戦したことがありました。8割方完成したのですが、時間不足のため断念しました。手作業によるヒューマンエラー回避のためには是非とも完成させたかったです。その後、同じ処理は必要ないので結局は廃棄しました。

*

他にもかじった言語があったかもしれませんが、思い出せません。

ほとんどが遊びの範疇でしたが、プログラミング言語学習を通して、自分の瞬間的思考の解析や、何かの手順を人に説明することもうまくなりました。また、いろいろなソフトが内部でどのような処理を行っているかの見当が付くようになったので、より効率的な手順を見つけたり、バグを回避する手法を見つけたりできるようになっています。これが私にとっては、プログラミング言語そのものを修得することより飛躍的に大きな意味があったと思います。

ところで、プログラミング言語で遊んでいたころ、私は西洋建築史の研究者でした。今はCADとか情報リテラシーの専門家として扱われることが多いです。

 

広告
カテゴリー:VectorScript, 一般

【VectorScript】 便利な一行スクリプト

図形選択マクロでVectorScriptを作ると、例えば次のようなスクリプトができあがります。

DSelectAll; SelectObj((INSYMBOL & INVIEWPORT & (L=’レイヤ-1′) & (C=’一般’)));

このようなものは、慣習的に一行スクリプト(一行マクロ)のように呼ばれます。

*

VectorScript が Pascal というプログラミング言語をベースとしていますが、このPascalという言語の目的のひとつがプログラミング言語学習用であることから、とてもお堅い言語であることが VectorScript を書くときの障害となりやすいと思います。

ところが、一行スクリプトは Pascalを知らなくても、VectorScriptのコマンドを書き連ねればできてしまいます。

*

2018-07-07_150440.png

そして、図形選択マクロが作るスクリプトだけでなく、環境設定のオンオフや、メニューの中のコマンドなども一行で書けてしまうものがたくさんあります。それらをパレットに入れておくと操作が大幅に効率アップします。私は、頻繁に使う操作を複数のパレットに整理して入れて、そのパレットをテンプレートに組み込み、作図開始時はそのテンプレートから始めるようにしています。(右図はパレットのひとつ)

Vectorworksベストテクニック100表紙これらの一行スクリプトの使い方や作成方法は、『VECTORWORKS ベストテクニック 100』に書いたで、ここでは出し惜しみします。

 

*

 

一行スクリプトの利点は、VectorScriptを言語として学習しなくてもよい点です。外国語で言えば、文法を勉強せず、単語をいくつかかじって何とかしてしまうのと同様の状態で、言語学習としては望ましいことではありませんが、「ちょっとしたことが通じるだけで十分」な場合には一行スクリプトがかなり助けてくれます。

もちろん、単語だけで文法を知らなければ、簡単なことしか伝えられません。この点はVectorScriptも同様です。

カテゴリー:VectorScript

【VectorScript】 VectorScriptのおまじない、PushAttrs、PopAttrs

UNIXのシェルにpushd、popdという、現在のディレクトリを一時的に保存するコマンドがあります。pushd、popdのおかげで作業中のディレクトリ移動のときのキー入力の手間が大幅に減ります。MS-DOS時代にはKI-Shellという素晴らしいフリーのシェルがあって、大変お世話になりました。

で、本題ですが、VectorworksにはPushAttrs、PopAttrs、というpushd、popdというよく似たコマンドがあります。

Attr=attribute=属性ですが、同じく日本語では「属性」と訳せるproperty(プロパティ)とは異なります。どういう属性であるか、VectorScript のリファレンス( ヘルプフォルダに入っている ScriptFunctionReference.html )から引用しますと;

Stores current attribute, tool, text, and constraint settings for later retrieval as the document default settings. Document settings can be modified as needed after using this call, and the stored settings can be restored with a call to PopAttrs. Calling this function more than once (nested) is allowed. The settings will be placed on a stack, and will be retrieved by calls to PopAttrs in the correct sequence.

ということで、この場合の属性とは、スクリプト実行前のツール、テキスト、拘束の設定のことで、それをpushしたりpopしたりするのがPushAttrs、PopAttrs で、VectorScriptの中でペンの色、フォントサイズ、線の太さなどを一定の設定に変える必要があるが、スクリプト実行後には元に戻したいという場合に役立ちます。

スクリプト実行前後で上記のような属性を維持したい場合は、下記のようにします。

  • BEGINのすぐ次の行に、PushAttrs; を記入
  • END;のすぐ前の行に、 PopAttrs;  を記入

つまり、スクリプトを下記のようにします。下記の「あれこれあれこれ」と書いてある部分にVectorScriptで行いたい処理を書きます。

PROCEDURE Pokopen;
BEGIN
PushAttrs;
あれこれあれこれ
PopAttrs;
END;
RUN(Pokopen);

で、これは一種のおまじないとして、BEGIN、END;とセットで覚えておくといいと思います。

*

VectorScriptの手っ取り早い入門は下記をどうぞ。(VectorScriptだけの本ではありませんが、Vectorworks作業の効率化のひとつの方法としてVectorScriptについても記されています。)

Vectorworksベストテクニック100表紙『VECTORWORKS ベストテクニック 100』

今までのVECTORWORKS解説書にはなかった、より便利に速く図面を描くためのVectorworksの使い方を100コ紹介しています。

カテゴリー:VectorScript

【VectorScript】 図形の面積値をスクリプトで記入する

<前置き>

ある掲示板に面白そうなネタがありました。以前作ったスクリプト(※)と同じ処理で可能な部分があったので掲示板にちょっとした書き込みをしましたが、せっかくなので自分なりに完成させてみました。

(※)数年前、ある伝統的建造物群保存地区の報告書のために地図を作成しました。この地図は3つの時代の地籍の変化を比較するためのもので、昔の歪んだ地図を現況の地図に合致させながらリライトし、さらに地籍ひとつひとつに地番を書き込む作業が必要でした。数千を超える地積ひとつひとつに手作業で地番を打つとヒューマンエラーが発生しやすいのでVectorScriptで自動処理することにしたのでした。

なお、元のスクリプトでは、ForEachObjectInLayer の部分にForEachObjectInListを使っていましたが、件の談話室でForEachObjectInLayer を使うと良いという指摘があったので、下記ではForEachObjectInLayer を使ってみています。ForEachObjectInListでも同じ結果を得られますが、変数が1つ増えます。

*

このスクリプトは、アクティブレイヤの全図形(※1)ひとつひとつのほぼ中心(※2)に面積値(単位は㎡、小数点以下第2位まで)を書き込むためのスクリプトです。(2018/07/09 YouTubeで動作を示した動画を公開)

(※1)スクリプトは全図形を対象としていますが、スクリプト中にコメントした2行を削除すれば、予め手作業で選択した図形を対象にできます。

(※2)面積値を記入する座標としては、図形の境界ボックスの中心(下図)を拾っているので、L形など入り隅があるような図形では面積値が図形の外にこぼれます。その場合は、必要に応じて手動で修正することになります。

2018-07-07_131932.png

*

以下がスクリプトです。行頭をインデントしていないので、多少読みづらいですがご容赦ください。実行に際してはコメント行は不要なので削除しても大丈夫です。またレイヤ名、クラス名、作業レイヤの削除の有無などは、必要に応じてアレンジしてください。動作確認は、Windows版 Vectorworks 2017 で行いました。

なお、VectorScriptの基本的な作り方や実行方法は下記をご覧ください。

Vectorworksベストテクニック100表紙『VECTORWORKS ベストテクニック 100』

今までのVECTORWORKS解説書にはなかった、より便利に速く図面を描くためのVectorworksの使い方を100コ紹介しています。

*

Procedure WriteArea;
VAR
reiya:STRING;

{以下が面積値を記入するためのサブルーチン}
FUNCTION DoIt(h :HANDLE) :BOOLEAN;
VAR
x1,x2,y1,y2:REAL;
BEGIN
{面積記入用の一時的レイヤの設定}
Layer(‘面積記入用一時’);
{面積値を書き込む位置(座標)の設定}
GetBBox(h, x1,y1,x2, y2);
MoveTo( (x1+x2)/2, (y1+y2)/2 );
{面積値書き込み。小数点以下の桁数はHAreaの前の数値で設定。また平方ミリを1000000で割って平方メートルに換算している。}
CreateText(Num2Str(2,HArea(h)/1000000));
{レイヤを元に戻す}
Layer(reiya);
END;
{サブルーチンはここまで}

BEGIN
{作業状況の待避}
PushAttrs;

{アクティブレイヤの名称を取得}
reiya:=GetLName(ActLayer);

{記入用テキストの設定。設定はご随意に。}
TextSize(72);
TextJust(2);
TextVerticalAlign(1);

{作業用にクラス、レイヤの設定}
SetClassOptions(5);
SetLayerOptions(4);

{念のため、あらためてアクティブレイヤを作業用に設定する}
Layer(reiya);

{面積を記入するためのクラスを設定する(存在しない場合は自動追加)}
NameClass(‘面積値(㎡)’);

{選択図形のみに適用する場合は下の2行を削除}
DSelectAll;
SelectAll;

{面積記入用サブルーチンに飛ばす}
ForEachObjectInLayer(DoIt, 2, 0, 0);

{記入した面積値が選択状態になっているので、解除する}
DSelectAll;

{面積値を一時的レイヤから元のアクティブレイヤに移動する(必須ではない)}
Layer(‘面積記入用一時’);
DSelectAll;
SelectAll;
DoMenuTextByName(‘Cut’,0);

Layer(reiya);
DSelectAll;
DoMenuTextByName(‘Paste In Place’,0);
DSelectAll;
{一時的レイヤを削除しない場合は下の行を削除}
DelObject(GetLayerByName(‘面積記入用一時’));

{ここまでが面積値移動のためのスクリプト}

{作業状況の復帰}
PopAttrs;

END;
Run(WriteArea);

*

おまけ

上の動画中にある「削除」や「選択」はいずれも一行スクリプトなので、使う場合は改行を入れずに入力してください。

  • 選択
    DSelectAll; SelectObj((INSYMBOL & INVIEWPORT & (T=TEXT) & (C=’面積値(㎡)’)));
  • 削除(選択するスクリプトの最後に、「 DeleteObjs; 」を付けただけ)
    DSelectAll; SelectObj((INSYMBOL & INVIEWPORT & (T=TEXT) & (C=’面積値(㎡)’)));
    DeleteObjs;

*

冒頭に記した報告書用の地籍図データは、下図のような感じです。これは明治初期の状態。元の手書き地図は歪みが甚だしかったので(「歪み」というほど生やさしいものではなかったので)、現状と突き合わせた作図は骨が折れました。今後、機会があればそんなことも含めて記事にしたいと思います。(報告書には地図作成における諸問題についてすでに記されていますが、もうちょっとスキル面からの記事を書いてみようかな、ということ。)

2018-07-07_103941.png

地番等は、Vectorworksのデータベース機能を利用し、Vectorworksの多角形で表現した地籍ひとつひとつにいくつかのフィールドを割り当てています。スクリプトは、それらの項目から地番フィールドを読み出して図形中央に打つためのものでした。不整形な地籍の場合は、文字がこぼれるので、ひとつひとつ手作業で位置を移動しました。大変ではあったけれど、社会的に大きな問題となっていた地域だったので、結果としては有意義な仕事でした。

この後、あらたな必要でデータをGISに落とし込んだりしましたが、それもあまり手間がかからずに可能でした。この手の要求を容易にかなえてくれる点がVectorworksの強みだと思います。私は3Dやレンダリングではなく、Vectorworksのこういう部分が好きです。

カテゴリー:VectorScript

【作図のヒント】 位置決めには面図形も使えます

手書きの図面は、補助線を引いて位置を決め、不要になった補助線を消しゴムで削除しながら作図します。Vectorworksでも同様の方法で位置決めできますが、補助線ではなく、補助図形(面図形である四角形や円など)を使いましょう。最大の理由は、面図形と線は、書く手間に差がない一方で、面図形は線よりも選択・スナップなどが楽だから、位置決めするのも、後から削除するのも楽なのです。

*

以下に使いからの例を示します。

  • ここでは、補助図形を使ってテーブルセットを3000mm右にコピーしてみましょう。アクティブクラスは何でもかまいません。コピー元の図形の基準となる点をスナップして、幅3000mm(高さは任意)の四角形を描きます。

3-7-1.png

  • コピー元の図形の基準点をスナップして、Ctrlを押しながらドラッグし、③で書いた四角形の右上にスナップさせます。

3-7-2.png

  • 上の手順で描いた補助図形を使う必要がない場合は、補助図形(今回は四角形)を削除します。もし同じ補助図形を今後も使う可能性があれば、残しておきます。※残す場合が多ければ、あらかじめ補助図形のためのクラスを作っておいて、上記の作業とに、データパレットから補助図形のクラスを「補助図形のクラス」に変更します。

*

ひとつひとつの補助図形へのクラスの割り当て方については、これが絶対に良い、こうでなければいけないという決まりごとはないので、クラスの一般的な考え方「図形の意味合いが異なる場合は異なるクラスに入れるのがよい」に従えば十分です。手順④に描いたように、この後も使う可能性の有無で考えましょう。

【重要】このTIPSと同じ操作は、他の手順(たとえば同位置複製+数値移動、ポイント間複製)でも可能です。このような場合に考えてほしいのは、操作のステップ数を少なくしたり、自分が使うコマンドを絞り込むことによって、総合的な作業時間を短縮することです。ここで示した方法を使うと、右手、左手の動きをかなり低減できます。来る日も来る日も何百、何千回とあっちこっちに手を動かし続けたときに、少しでも身体に負担が少ない方法を身につけることはとても大切です。

*

Vectorworksベストテクニック100表紙『VECTORWORKS ベストテクニック 100』

今までのVECTORWORKS解説書にはなかった、より便利に速く図面を描くためのVectorworksの使い方を100コ紹介しています。

カテゴリー:一般

【Oops!】 Vectorworksのバージョン違いが原因でデータを開けない場合、、、

9-10-R1.png

Vectorworksはバージョンアップの度にデータ形式が変更され、新しいバージョンで作ったファイルは古いバージョンでは開けません。また、バージョンが変わっても拡張子のvwxは共通なので(※12.5より前はmcd)、右図のように自分が使っているバージョンのVectorworksファイルアイコンで表示されます。何の疑いもなくファイルアイコンをダブルクリックして開こうとするとエラーメッセージが表示されて開けない場合があります。

上の図はVectorworks 2008、2017それぞれで作成したファイルをVectorworks 2008がインストールされたPCで見ている状態で、どちらも同じ絵柄のアイコンになっているのが分かります。

*

Vectorworks 2008 で 2017 のデータを開こうとした場合は、最初に次のようなエラーメッセージが表示されます。

9-10-1.png

表示の通り「古いバージョン」つまり自分が使っているバージョンより前のバージョンで作成されていた場合はOKをクリックすれば開けますが、自分が使っているバージョンより新しいバージョンのVectorworksで作成されたいた場合は、次のメッセージが出てVectorworksが終了してしまいます。

9-10-2.png

*

このような場合にはどうすればよいでしょうか?

【自分のPCで開けない場合】

残念ながら、自力解決は無理です。相手と同じバージョンを入手するか、データ作成者に以下の方法で自分が使用するバージョンに下げてもらうかどちらかです。

【データを渡した相手のPCで開けない場合】

  • 相手のVectorworksのバージョンを教えてもらいます。(さすがに自分が使うバージョンが分からないという人はいないでしょう。)
  • 「ファイル>取り出し」で、相手のバージョン形式で取り出します。しかし、ある一定の古さのバージョンまでしか取り出せないので、相手と自分の間で大きなバージョン差がある場合は取り出せません。そのようなときは、相手と自分の中間に位置するバージョンを使っている人を探して、その人を経由してバージョンダウンすることになります。(たとえば、2017→2013→2009など)

*

複数人でのコラボレーションでは、全員が同一バージョンを使っているとはかぎりません。そのようなときは、最下位バージョンを標準としてデータをやり取りしてください。

ただし新バージョンに付加された新しい機能で作った部分が欠落したり、おかしくなったりする場合もあります。こういう場合は、メンバー内の最下位バージョンがもつ機能だけを使うか、全員のバージョンを揃えるか、どちらかしか方法はありません。

*

上記のような次第で、残念ながらバラ色の解決法はありません。

*

Vectorworksベストテクニック100表紙『VECTORWORKS ベストテクニック 100』

今までのVECTORWORKS解説書にはなかった、より便利に速く図面を描くためのVectorworksの使い方を100コ紹介しています。

カテゴリー:Oops!

『Vectorworks ベストテクニック 100』発刊

Vectorworksベストテクニック100表紙2018/4/28に、エクスナレッジから『Vectorworks ベストテクニック 100』が出版されます。

30年近くにわたるノウハウをベースにした、Vectorworksを上手に使い回しながら初級者から中級ユーザに進むためのTIPSを集めた本です。たぶん?、きっと?、絶対に?、、、、目から鱗が落ちるようなTIPSが見つかると思います。

Amazon で購入

いわゆる学習テキストは、必然的に著者の設計に対する考え方や姿勢が反映しますが、この本では、考え方や姿勢を削ぎ落としたときに残る合理的・効率的な操作方法を紹介しています(そのつもりです)。誰にとっても有用であろうことを考えながら著しました。

ところで、この本には書いていませんが、設計の考え方や姿勢に対するTIPS的なネタもたくさんあります。セミナーではそれらをお話ししたりしていますが、いつか、本を書けたら良いと思っています。

カテゴリー:一般
%d人のブロガーが「いいね」をつけました。