Jw_cad作者さんのサイトの掲示板で以下のような発言がありました。
おっしゃるように、ユーザーレベルの動作上の工夫でどうこうしようという話であって、白色ソリッド図形によるマスクという方法、しかもそれが全体図を覆うようなやり方、というのは、まぁ、自分が出来れば・自分が分かればいい=自分だけで作成・運用・印刷して、紙で渡す、という事であればOK,という事であって、それが万人に通用する方法でもなければ、推奨されている手法でもないわけで。
こういう手法がありますよ、と、あるユーザーが書いたとして、
あ、俺、その手法でやってみるわ、使えるわ、
というパターンと、
俺は、その手法は直感的でもないし、面倒だし、やめとくわ、
というパターンと、
俺は、別に反対はしないけど、横に並べるか、別ファイルにするわ、
というパターン、
などがあると思います。
そもそも何故、白色ソリッドでのマスクって方法を使わないといけないのか、複数図面を1ファイル上に描きたいのなら、横に並べて、画面を前面に出したいんならマークジャンプを使えばいい。タグジャンプでもいいかもしれない。問題は、印刷時、ということになりますが、まぁ、Jw_cad 本体がそういう機能を持っていないのなら、別ツールを使えばいい、という発想はしないのかな?という気もするけれども、まぁ、どうしても、Jw_cad 本体だけで何とかやりたい、という人も居るのは仕方が無いとは思うんだけれども。
Jw_cad を AutoCADのような仕組みにして欲しい
という要望があるとは、まぁ、いいとして、
モデル空間+レイアウト(ペーパー空間)+ビューポート
の機構はCADの根本的部分であるけれども
少なくとも、簡単に追加できるような機能ではない、と
思うけれども。
まずは、図面を描くメモリ空間、レイアウトを描くメモリ空間(複数)、が別々に存在出来ないといけない。ということは、図面データベースがそういう構造を持っていないといけない。これをブロック図形で何とかしようとか思うと多分、ぐちゃぐちゃになると思う。
そして、レイアウト空間にビューポートを配置すると、そこから、モデル空間への参照を行い、クリッピングを行って画面描画する。ビューポートは複数配置が可能。クリッピングを行う必然性があるため、ブロック図形描画がそのまま使える訳ではないから、これも、ブロック図形で何とかしよう、とかは無理がある。しかも、AutoCADでは、四角いビューポートだけではなく、例えば星型とか雲型のような任意図形も可能だけど、そこまで対応させるのか?という問題もある。
で、レイアウト空間は、そのまま、プリンタ〜用紙サイズと連動をする。尺度は、ビューポート(或いはその内部)で行うのが通例で、レイアウトの画面全体に対して印刷尺度を指定することは基本、無い。SXFの図面シートが複数用意できるっていうもんに近いから。けれども、システムとして、出来るようにするか、しないか、とは話が別なので、どうするか、という問題はある。
で、連続印刷で、レイアウトをまとめて印刷する、という機能を実装する。 従来の、レイヤ別印刷、レイヤグループ別印刷、ファイル連続印刷、の中に組み込むことになるんだろうから、そういう問題はある。
ま、データ構造が変わるんだから、旧バージョンでは当然全く読めないし、旧バージョン保存をすると、1つしか保存されないとか、複数ファイルになってしまうとか、あるかもしれないけれども、まぁ、それは、プログラミングとしては些細な事だろう。
しかし、そういう巨大な改変を行った結果、
Jw_cad ユーザーの一部が、離れていく、或いは、旧バージョンを使い続ける、とか、そういうんなら、AutoCADに行くわ、とか、DraftSight を使うわ、とか、
そういう事になったらちょっと哀しいかもね。
なぜというとまず1つ。
これまで図枠は、Fレイヤグループを 1/1 にして、そこに描く、みたいな文化が成立してると思う。けれども、これが、レイアウトに図枠を作図すべし、という事に置き換わる。そこで、ある程度の、カルチャーショックが発生する。おそらく、「デカルチャー」と叫ぶ何人かは居るだろう。
次に
図面を離して作図している、という場合
レイアウト別に、ビューポートを配置して、そこからそれぞれ参照させる、という風にするけれども、当然、図枠はモデル空間に作図するのではなく、レイアウトの上に作図をする。となると、当然、描き方は多少変わってくる。例えば、これまで先に図枠を描いてからそれを基準にして図面を描いていたのなら、レイアウト上に図枠を描く事になるんだから、モデル空間上で、どこを基準にすればいいんだろうか?と多少、悩むことになるかもしれない。でもまぁこれは、慣れだけの話なので、そんなにデカルチャーな事ではないだろう。でもまぁ、モデル空間上で、補助線で予め ここに描くよ、と区切ったりするのかも・・・しれない。
次に
これまで複数ファイルで対応してきた人が、
どうするか?という問題が出てくるだろう。
特に、複数人数でプロジェクトを組んだりして
複数人数で1枚の図面を仕上げる、という事も
まぁ、あるだろう。
そういう場合、レイアウトを使った1ファイル化を
行うのかどうか?という話が出てくるだろう。
けれども
ネットワーク対応で、レイヤ別、レイヤグループ別、レイアウト別、等での排他処理に対応したシステムにならない限りは、はいそれに乗りましょ、という事にはならない可能性も大。1ファイルを複数人数で同時オープンし、同時に作成編集できないと、プロジェクトが成立しない。 ネットワーク対応、排他処理対応、というのは当然ながら、絶対にフリーズ・強制終了しない、という強固なプログラムでないと、辛いだろう。全員の作業が一瞬にして無駄になってしまうから。
とかいいつつ
単純に、
「ページ番号」みたいなデータ項目が1つ追加されて
「前のページ」「次のページ」「ページ番号〜」みたいな
ボタンが追加されて、複数ページ描けるような
システムになったりして・・・。
さほど大掛かりな修正にもならないし。
まぁ、複数の用紙サイズ指定、というのは出来ないけど。
などとお気楽に書いてみたりする。
タイトルにあるソリッド図形を使った全体図のマスクですが、やれることはやれるんですが、それだけの事で全く現実的ではありません。http://hpcgi2.nifty.com/jw_cad/c-board.cgi?cmd=ntr;tree=19769;id=003
理由は、印刷時に煩雑なレイヤー操作が必要になるからです。印刷するときは人に渡すときで大抵、急いでいますから、一々レイヤーの切り替えとかやってられないのです。これは図面枚数が増えれば増えるほどいえる事です。
また、どのようなレイヤー構成にして、どのレイヤーを切り替えて図面を表示させるかを、データにに記入しとかないといけません。データを貰った人はその通りに操作しないと図面表示できません。そして、そのレイヤー構成は人それぞれで標準というものがありません。
さらに、現場レベルの施工図の話になると、現場員や常駐している図面担当者に知識がなくて、ソリッド図形マスクの図面構成についてこれません。要は、理解できんのです。
このやり方を現実的にするには、AUTO CADのようにワンタッチでマスクが切り替わらないと無理ですし、その、タブなりボタンなりをJW側で用意してもらわないとできません。ユーザーレベルの工夫の限界です。
おっしゃるように、ユーザーレベルの動作上の工夫でどうこうしようという話であって、白色ソリッド図形によるマスクという方法、しかもそれが全体図を覆うようなやり方、というのは、まぁ、自分が出来れば・自分が分かればいい=自分だけで作成・運用・印刷して、紙で渡す、という事であればOK,という事であって、それが万人に通用する方法でもなければ、推奨されている手法でもないわけで。
こういう手法がありますよ、と、あるユーザーが書いたとして、
あ、俺、その手法でやってみるわ、使えるわ、
というパターンと、
俺は、その手法は直感的でもないし、面倒だし、やめとくわ、
というパターンと、
俺は、別に反対はしないけど、横に並べるか、別ファイルにするわ、
というパターン、
などがあると思います。
そもそも何故、白色ソリッドでのマスクって方法を使わないといけないのか、複数図面を1ファイル上に描きたいのなら、横に並べて、画面を前面に出したいんならマークジャンプを使えばいい。タグジャンプでもいいかもしれない。問題は、印刷時、ということになりますが、まぁ、Jw_cad 本体がそういう機能を持っていないのなら、別ツールを使えばいい、という発想はしないのかな?という気もするけれども、まぁ、どうしても、Jw_cad 本体だけで何とかやりたい、という人も居るのは仕方が無いとは思うんだけれども。
Jw_cad を AutoCADのような仕組みにして欲しい
という要望があるとは、まぁ、いいとして、
モデル空間+レイアウト(ペーパー空間)+ビューポート
の機構はCADの根本的部分であるけれども
少なくとも、簡単に追加できるような機能ではない、と
思うけれども。
まずは、図面を描くメモリ空間、レイアウトを描くメモリ空間(複数)、が別々に存在出来ないといけない。ということは、図面データベースがそういう構造を持っていないといけない。これをブロック図形で何とかしようとか思うと多分、ぐちゃぐちゃになると思う。
そして、レイアウト空間にビューポートを配置すると、そこから、モデル空間への参照を行い、クリッピングを行って画面描画する。ビューポートは複数配置が可能。クリッピングを行う必然性があるため、ブロック図形描画がそのまま使える訳ではないから、これも、ブロック図形で何とかしよう、とかは無理がある。しかも、AutoCADでは、四角いビューポートだけではなく、例えば星型とか雲型のような任意図形も可能だけど、そこまで対応させるのか?という問題もある。
で、レイアウト空間は、そのまま、プリンタ〜用紙サイズと連動をする。尺度は、ビューポート(或いはその内部)で行うのが通例で、レイアウトの画面全体に対して印刷尺度を指定することは基本、無い。SXFの図面シートが複数用意できるっていうもんに近いから。けれども、システムとして、出来るようにするか、しないか、とは話が別なので、どうするか、という問題はある。
で、連続印刷で、レイアウトをまとめて印刷する、という機能を実装する。 従来の、レイヤ別印刷、レイヤグループ別印刷、ファイル連続印刷、の中に組み込むことになるんだろうから、そういう問題はある。
ま、データ構造が変わるんだから、旧バージョンでは当然全く読めないし、旧バージョン保存をすると、1つしか保存されないとか、複数ファイルになってしまうとか、あるかもしれないけれども、まぁ、それは、プログラミングとしては些細な事だろう。
しかし、そういう巨大な改変を行った結果、
Jw_cad ユーザーの一部が、離れていく、或いは、旧バージョンを使い続ける、とか、そういうんなら、AutoCADに行くわ、とか、DraftSight を使うわ、とか、
そういう事になったらちょっと哀しいかもね。
なぜというとまず1つ。
これまで図枠は、Fレイヤグループを 1/1 にして、そこに描く、みたいな文化が成立してると思う。けれども、これが、レイアウトに図枠を作図すべし、という事に置き換わる。そこで、ある程度の、カルチャーショックが発生する。おそらく、「デカルチャー」と叫ぶ何人かは居るだろう。
次に
図面を離して作図している、という場合
レイアウト別に、ビューポートを配置して、そこからそれぞれ参照させる、という風にするけれども、当然、図枠はモデル空間に作図するのではなく、レイアウトの上に作図をする。となると、当然、描き方は多少変わってくる。例えば、これまで先に図枠を描いてからそれを基準にして図面を描いていたのなら、レイアウト上に図枠を描く事になるんだから、モデル空間上で、どこを基準にすればいいんだろうか?と多少、悩むことになるかもしれない。でもまぁこれは、慣れだけの話なので、そんなにデカルチャーな事ではないだろう。でもまぁ、モデル空間上で、補助線で予め ここに描くよ、と区切ったりするのかも・・・しれない。
次に
これまで複数ファイルで対応してきた人が、
どうするか?という問題が出てくるだろう。
特に、複数人数でプロジェクトを組んだりして
複数人数で1枚の図面を仕上げる、という事も
まぁ、あるだろう。
そういう場合、レイアウトを使った1ファイル化を
行うのかどうか?という話が出てくるだろう。
けれども
ネットワーク対応で、レイヤ別、レイヤグループ別、レイアウト別、等での排他処理に対応したシステムにならない限りは、はいそれに乗りましょ、という事にはならない可能性も大。1ファイルを複数人数で同時オープンし、同時に作成編集できないと、プロジェクトが成立しない。 ネットワーク対応、排他処理対応、というのは当然ながら、絶対にフリーズ・強制終了しない、という強固なプログラムでないと、辛いだろう。全員の作業が一瞬にして無駄になってしまうから。
とかいいつつ
単純に、
「ページ番号」みたいなデータ項目が1つ追加されて
「前のページ」「次のページ」「ページ番号〜」みたいな
ボタンが追加されて、複数ページ描けるような
システムになったりして・・・。
さほど大掛かりな修正にもならないし。
まぁ、複数の用紙サイズ指定、というのは出来ないけど。
などとお気楽に書いてみたりする。