第2の寸法設定を持つ

実施設計レベルの平面図、矩計図、展開図などは、細かな寸法を入れますが、その時文字サイズを一回り小さくしたり、描画クラスを第2寸法用に替えたりしています。これまでは、その度に文字サイズ、クラスを変更していたのですが、面倒なので、第2の寸法設定を持っておけば、楽だと思います。

動作の流れ

  1. 初期設定で、第二寸法用のクラスを設定、第二寸法用のクラスが存在するか?第二寸法用クラスの文字サイズ、現在の文字サイズの設定値の取得をしておく。
  2. 設定した第二寸法用のクラスが存在するか?を調べる。
  3. 第二寸法用のクラスが存在するならば、テキストサイズを変更し、縦横寸法ツールを呼出し、クラスを変更する。最後に、元の文字サイズに設定を戻す。

斜め寸法や角度寸法も第二寸法を設定したい場合は、各々 CallTool(-211)、CallTool(-212)にすれば OK です。

下記のソースをコピペしたり、フィールドフォーマットを入力したり、ツールアイコンを作るのが面倒な人は、下記のリンクからダウンロードして下さい。


{*******************************************************************************
		SecondDim	第二の寸法ツール
	
		Copyright 2010 兵藤善紀建築設計事務所
			www.hyodo-arch.com


		2010.07.12	Ver 0.10	まず最初のバージョン
 *******************************************************************************}
PROCEDURE SecondDim;
VAR
	NameOfDimClass			:String;	{フィールドフォーマットの値を格納}
	IsDimClass			:Boolean;	{第二寸法用のクラスが存在するか}
	NumOfClass			:Longint;	{クラスの数}
	DimTextSize,DefaultTextSize	:Real;		{第二寸法の文字サイズ、デフォルトの文字サイズ}
	hh				:Handle;	{第二寸法のハンドル}
	ii				:Integer;	{カウンタ}


BEGIN	{****************** メインプログラム ******************}
{初期設定}
	NameOfDimClass:=PNAMEOFDIMCLASS;
	IsDimClass:=False;
	DimTextSize:=PDIMTEXTSIZE;
	DefaultTextSize:=GetDefaultTextSize;

{図面に設定されているクラス名を調べる}
	NumOfClass:=ClassNum;
	For ii:=1 To NumOfClass Do Begin
		If NameOfDimClass=ClassList(ii) Then IsDimClass:=True;
	End;

{文字サイズの変更 -> 寸法ツールの呼び出し -> クラスの変更 -> 文字サイズを元の設定に戻す}
	If IsDimClass Then Begin
		TextSize(DimTextSize);
		CallTool(-210);
		hh:=FSActLayer;
		SetClass(hh,NameOfDimClass);
		SetDSelect(hh);
		TextSize(DefaultTextSize);
		SetSelect(hh);
	End;

	{Message(IsDimClass);}

END;{SecondDim}
RUN ( SecondDim );