AddWallEdit2 メソッド

構文

AddWallEdit2(WORD uKind, double dXPos0, double dYPos0, double dXPos1, double dYPos1,
     double dOpeningTop, double dOpeningBottom, double dThickL, double dThickR, double dFrameThick,
     double dDepth, VARIANT &vVertex, long dwMDCDType, double xMDCDOfs, double yMDCDOfs,
     double dRes0, double dRes1, double dRes2, double dRes3);

壁編集系のオブジェクトを追加します。

パラメータ

uKind
壁開口の種類。次のいずれかの値を指定できます。
  • 1壁削除
  • 2壁開口
  • 3壁高さ
  • 4壁厚
  • 5ニッチ
  • 6付け棚
  • 7任意形状開口
  • 8手摺柵
dXPos0
始点X座標。
dYPos0
始点Y座標。
dXPos1
終点X座標。
dYPos1
終点Y座標。
dOpeningTop
開口部の上端(壁の下端からの距離)。
dOpeningBottom
開口部の下端(壁の下端からの距離)。
dThickL
壁厚左側。
dThickR
壁厚右側。
dFrameThick
枠の厚み
dDepth
ニッチ・突き出しの奥行き
vVertex
(x, y) 形状の頂点列。型は VT_R8 | VT_ARRAY にしてください。
dwMDCDType
設置されたObjectのタイプ(四角形、円、棚横など…)
※ここから後のパラメーターは、3D画面で当該オブジェクトを配置して間取り画面に戻り、GetWallEdit2で値を確認してから使用してください。
xMDCDOfs
壁芯までのオフセットのX値。
yMDCDOfs
壁芯までのオフセットのY値。
dRes0
予約値0
dRes1
予約値1
dRes2
予約値2
dRes3
予約値3

戻り値

壁開口を追加できた場合 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 = 12;
bound[0].lLbound = 0;
SAFEARRAY * pArray = SafeArrayCreate(VT_R8, 1, bound);
double * pVar;
SafeArrayAccessData(pArray, (void**)&pVar);
double dVertex[12] = {1.0, 0.77, 0.5, 1.0, 0.0, 0.77, 0.0, 0.0, 1.0, 0.0, 1.0, 0.77}; 
for(int i=0; i < 12; ++i){
	pVar[i] = dVertex[i];
}
VARIANT v;
v.vt = VT_R8 | VT_ARRAY;
v.parray = pArray; 

BOOL bRet = m_MadoriDoc->AddWallEdit2(5, -250.0, 2000.0, 250.0, 2000.0,
	1450.0, 800.0, 50.0, 50.0, 20.0, 95.0, v, 1, 0.0, -50.0,
	150.0, 2.0, 0.0, 0.0);
SafeArrayUnaccessData(pArray);
if(!bRet){
	// エラー
	return;
}
// JavaScript sample
var doc = new CMadoriDoc();

var hole = [1.0, 0.77, 0.5, 1.0, 0.0, 0.77, 0.0, 0.0, 1.0, 0.0, 1.0, 0.77];

var uKind = 5; // ニッチ
var dXPos0 = -250.0;
var dYPos0 = 2000.0;
var dXPos1 = 250.0;
var dYPos1 = 2000.0;
var dOpeningTop = 1450.0;
var dOpeningBottom = 800.0;
var dThickL = 50.0;
var dThickR = 50.0;
var dFrameThick = 20.0;
var dDepth = 95.0;
var dwMDCDType = 1;
var xMDCDOfs = 0.0;
var yMDCDOfs = -50.0;
var dRes0 = 150.0;
var dRes1 = 2.0;
var dRes2 = 0.0;
var dRes3 = 0.0;

var result = doc.AddWallEdit2(uKind, dXPos0, dYPos0, dXPos1, dYPos1,
	dOpeningTop, dOpeningBottom, dThickL, dThickR, dFrameThick, dDepth,
	hole, dwMDCDType, xMDCDOfs, yMDCDOfs, dRes0, dRes1, dRes2, dRes3);

alert(result);