構文
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で値を確認してから使用してください。
※ここから後のパラメーターは、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);