AddRoom2 メソッド

構文

BOOL AddRoom2(VARIANT& vertex,
    long uRoomType, LPCTSTR szRoomName, BOOL bDispRoomName, BOOL bDispRoomSize,
    double dFloorHeight, double dCeilingHeight, double dHabakiHeight, double dKoshiHeight,
    double dMawaribuchiHeight,double dKoshiMikiriHeight, double dBalconyHeight,
    BOOL bHabaki, BOOL bMawaribuchi, BOOL bKoshikabe, BOOL bKoshiMikiri, BOOL bRoofFlag,
    BYTE byHatchStyle, OLE_COLOR ocForeColor, OLE_COLOR ocBackColor, BOOL bBackTrans,
    long uTatamiType, LPCTSTR szFontName, double dFontSize, BYTE byFontAttr, double dFontAngle,
    OLE_COLOR ocFontColor, BOOL bCalcFloorArea, BOOL bExteriorFlag,
    long nMoldingPattern, BOOL bCasing, double dCasingThickness, BOOL bInsideMeasure,
    LPCTSTR szBalconyDesignFilePath);

図面に部屋を追加します。

パラメータ

vVertex
(x, y) 頂点列。型は VT_R8 | VT_ARRAY にしてください。
uRoomType
部屋の種類。次のいずれかの値を指定できます。
  • 1玄関
  • 2廊下
  • 3吹抜
  • 4リビング
  • 5ダイニング
  • 6キッチン
  • 7LD
  • 8浴室
  • 9洗面室
  • 10ランドリースペース
  • 11トイレ
  • 12洋室
  • 13寝室
  • 14子供室
  • 15和室
  • 16床の間
  • 17押入
  • 18クロゼット
  • 19納戸
  • 20ポーチ
  • 21バルコニー
  • 22インナーガレージ
  • 23ホール
  • 24家事室
  • 25書斎
  • 26仏間
  • 27広縁
  • 28物入
  • 29土間
  • 30出窓
  • 31PS
  • 32カバードポーチ
  • 33外廊下
  • 34アルコーブ
  • 35EV
  • 36管理人室
  • 37ロビー
  • 38機械室
  • 39ピロティ
  • 40屋上
  • 41内廊下
  • 42
  • 43診察室
  • 44検査室
  • 45処置室
  • 46X線室
  • 47手術室
  • 48回復室
  • 49準備室
  • 50病室
  • 51スタッフステーション
  • 52受付
  • 53待合室
  • 54スタッフルーム
  • 55食堂
  • 56厨房
  • 57機能訓練室
  • 58談話室
  • 59事務室
  • 60リネン室
  • 61倉庫
szRoomName
部屋名。
bDispRoomName
部屋名を表示するかどうか。0で表示しません。1で表示します。
bDispRoomSize
部屋サイズを表示するかどうか。0で表示しません。1で表示します。
dFloorHeight
床面の高さ。通常は0.0です。
dCeilingHeight
天井高。
dHabakiHeight
幅木高。
dKoshiHeight
腰壁高。
dMawaribuchiHeight
廻り縁高。
dKoshiMikiriHeight
腰壁見切高。
dBalconyHeight
バルコニー手すり高さ。
bHabaki
幅木があるかどうか。0で無し。1であり。
bMawaribuchi
廻り縁があるかどうか。0で無し。1であり。
bKoshikabe
腰壁があるかどうか。0で無し。1であり。
bKoshiMikiri
腰壁見切があるかどうか。0で無し。1であり。
bRoofFlag
屋根があるかどうか。0で無し。1であり。バルコニー、ポーチのみ、無しに出来ます。
byHatchStyle
模様の種類。次のいずれかの値を指定できます。
  • 0なし。
  • 1塗りつぶし。
  • 2水平ハッチ。
  • 3垂直ハッチ。
  • 4右下がりハッチ。
  • 5右上がりハッチ。
  • 6水平と垂直の格子ハッチ。
  • 7斜め格子ハッチ。
  • 8ドット1。
  • 9ドット2。
  • 10ドット3。
  • 11ウェーブ1。
  • 12ウェーブ2。
  • 13ウェーブ3。
  • 14斜線1。
  • 15斜線2。
  • 16破線1。
  • 17破線2。
  • 18板目。
  • 19グラデーション横1。
  • 20グラデーション横2。
  • 21グラデーション縦1。
  • 22グラデーション縦2。
  • 23グラデーション右上。
  • 24グラデーション左上。
  • 25グラデーション中心。
  • 26グラデーション右上。
  • 27グラデーション右下。
  • 30半透明。
  • 40水平ハッチ。2の水平ハッチより目が細かい。
  • 41垂直ハッチ。3の垂直ハッチより目が細かい。
  • 42水平と垂直の格子ハッチ。6のハッチより目が細かい。
crForeColor
前景色。
crBackColor
背景色。
bBackTrans
背景を透明にするかどうか。0で不透明、1で透明。
uTatamiType
畳タイプ。次のいずれかの値を指定できます。
  • 0畳模様なし。
  • 1半畳。
  • 21畳横。
  • 31畳縦。
  • 42畳。
  • 53畳横。
  • 63畳横。
  • 73畳縦。
  • 83畳縦。
  • 94畳半。
  • 104畳半。
  • 114畳半。
  • 124畳半。
  • 134畳半。
  • 144畳半。
  • 154畳半。
  • 164畳半。
  • 174畳半。
  • 184畳半。
  • 196畳横。
  • 206畳横。
  • 216畳縦。
  • 226畳縦。
  • 237畳半横。
  • 247畳半横。
  • 257畳半横。
  • 267畳半横。
  • 277畳半縦。
  • 287畳半縦。
  • 297畳半縦。
  • 307畳半縦。
  • 318畳。
  • 328畳。
  • 3310畳横。
  • 3410畳横。
  • 3510畳横。
  • 3610畳横。
  • 3710畳縦。
  • 3810畳縦。
  • 3910畳縦。
  • 4010畳縦。
  • 4112畳横。
  • 4212畳横。
  • 4312畳縦。
  • 4412畳縦。
szFontName
部屋名、部屋サイズの表示フォント名。
dFontSize
部屋名、部屋サイズの表示フォントサイズ。
byFontAttr
部屋名、部屋サイズの表示フォント属性。次のフラグの任意の組み合わせを指定できます。
  • 1斜体。
  • 2太字。
  • 4下線。
dFontAngle
部屋名、部屋サイズの表示角度。
crFontColor
部屋名、部屋サイズの表示色。
bCalcFloorArea
床面積に算入するか否か。0で不算入、1で算入。
bExteriorFlag
外構形状か否か。0で非外構形状、1で外構形状。
nMoldingPattern
モールディングタイプ。以下のいずれかの値を指定します。
  • 0なし。
  • 1タイプ1。
  • 2タイプ2。
bCasing
ケーシングの有無。0でなし、1であり。
dCasingThickness
ケーシング幅。
bInsideMeasure
内法作図か否か。0で壁芯、1で内法。
szBalconyDesignFilePath
バルコニーデザインファイルのパス名。

戻り値

部屋を追加できた場合 0 以外を返します。できなかった場合は 0 を返します。

使用例

// C++ sample
// 間取りオブジェクトへ接続
CMadoriDoc * m_MadoriDoc = new CMadoriDoc();
CLSIDFromProgID (L"MyHomeDesignerMadori.MadoriDoc", &clsid);
GetActiveObject (clsid, NULL, &pUnk);
pUnk->QueryInterface (IID_IDispatch, (void**)(&pDisp));
m_MadoriDoc->AttachDispatch (pDisp);

// 部屋を追加
SAFEARRAYBOUND bound[1];
bound[0].cElements = 8;
bound[0].lLbound = 0;
SAFEARRAY * pArray = SafeArrayCreate(VT_R8, 1, bound);
double * pVar;
SafeArrayAccessData(pArray, (void**)&pVar);
double dVertex[8] = {0.0, 0.0, 2730.0, 0.0, 2730.0, 2730.0, 0.0, 2730.0}; 
for(int i=0; i < 8; ++i){
pVar[i] = dVertex[i];
}
VARIANT v;
v.vt = VT_R8 | VT_ARRAY;
v.parray = pArray;

long uRoomType = 12; // 洋室
BOOL bDispRoomName = TRUE;
BOOL bDispRoomSize = TRUE;
double dFloorHeight = 0.0;
double dCeilingHeight = 3000;
double dHabakiHeight = 50;
double dKoshiHeight = 700;
double dMawaribuchiHeight = 30;
double dKoshiMikiriHeight = 300;
double dBalconyHeight = 700;
BOOL bHabaki = TRUE;
BOOL bMawaribuchi = TRUE;
BOOL bKoshikabe = TRUE;
BOOL bKoshiMikiri = TRUE;
BOOL bRoofFlag = TRUE;
BYTE byHatchStyle = 1; // 塗りつぶし
OLE_COLOR crForeColor = (OLE_COLOR)RGB(208,213,191);
OLE_COLOR crBackColor = (OLE_COLOR)RGB(0,0,255);
BOOL bBackTrans = FALSE;
WORD uTatamiType = 0;
LPCTSTR szFontName = "メイリオ";
double dFontSize = 10;
BYTE byFontAttr = 0;
double dFontAngle = 0;
OLE_COLOR crFontColor = (OLE_COLOR)RGB(0,0,0);
BOOL bCalcFloorArea = TRUE;
BOOL bExteriorFlag = FALSE;
long nMoldingPattern = 0;
BOOL bCasing = FALSE;
double dCasingThickness = 50.0;
BOOL bInsideMeasure = FALSE;
LPCSTR szBalconyDesignFilePath = "";
BOOL bRet = m_MadoriDoc->AddRoom2(v, uRoomType, "洋", bDispRoomName, 
	bDispRoomSize, dFloorHeight, dCeilingHeight, 
	dHabakiHeight, dKoshiHeight, dMawaribuchiHeight, dKoshiMikiriHeight, 
	dBalconyHeight, bHabaki, bMawaribuchi, bKoshikabe, bKoshiMikiri, 
	bRoofFlag, byHatchStyle, crForeColor, 
	crBackColor, bBackTrans, uTatamiType, 
	szFontName, dFontSize, byFontAttr, dFontAngle, crFontColor,
	bCalcFloorArea, bExteriorFlag,
	nMoldingPattern, bCasing, dCasingThickness, bInsideMeasure,
	szBalconyDesignFilePath);
if(!bRet){
	// エラー
	return;
}
// JavaScript sample
function rgb(r, g, b){
	var col = r + (g << 8) + (b << 16);
	return col;
}

var doc = new CMadoriDoc();

var vertex = [0.0, 0.0, 2730.0, 0.0, 2730.0, 2730.0, 0.0, 2730.0];
var uRoomType = 12; // 洋室
var bDispRoomName = true;
var bDispRoomSize = true;
var dFloorHeight = 0.0;
var dCeilingHeight = 3000;
var dHabakiHeight = 50;
var dKoshiHeight = 700;
var dMawaribuchiHeight = 30;
var dKoshiMikiriHeight = 300;
var dBalconyHeight = 700;
var bHabaki = true;
var bMawaribuchi = true;
var bKoshikabe = true;
var bKoshiMikiri = true;
var bRoofFlag = true;
var byHatchStyle = 1; // 塗りつぶし
var crForeColor = rgb(208,213,191);
var crBackColor = rgb(0,0,255);
var bBackTrans = false;
var uTatamiType = 0;
var szFontName = "メイリオ";
var dFontSize = 10;
var byFontAttr = 0;
var dFontAngle = 0;
var crFontColor = rgb(0,0,0);
var bCalcFloorArea = true;
var bExteriorFlag = false;
var nMoldingPattern = 0;
var bCasing = false;
var dCasingThickness = 50.0;
var bInsideMeasure = false;
var szBalconyDesignFilePath = "";
var result = doc.AddRoom2(vertex, uRoomType, "洋", bDispRoomName, 
	bDispRoomSize, dFloorHeight, dCeilingHeight, 
	dHabakiHeight, dKoshiHeight, dMawaribuchiHeight, dKoshiMikiriHeight, 
	dBalconyHeight, bHabaki, bMawaribuchi, bKoshikabe, bKoshiMikiri, 
	bRoofFlag, byHatchStyle, crForeColor, 
	crBackColor, bBackTrans, uTatamiType, 
	szFontName, dFontSize, byFontAttr, dFontAngle, crFontColor,
	bCalcFloorArea, bExteriorFlag,
	nMoldingPattern, bCasing, dCasingThickness, bInsideMeasure,
	szBalconyDesignFilePath);
alert(result);