構文
BOOL AddMultipleCADPartialData(LPCTSTR szFileName, VARIANT& vposition, VARIANT& vsize, VARIANT& vangle, VARIANT& vrev);
CAD図ファイルを読み込んで複数個所に配置します。
パラメータ
szFileName
開きたいファイル名のフルパス。
vposition
(x, y) 配置位置の配列。型は VT_R8 | VT_ARRAY にしてください。
vsize
(w, d) 幅、高さの配列。型は VT_R8 | VT_ARRAY にしてください。
vangle
配置角度の配列。型は VT_R8 | VT_ARRAY にしてください。
vrev
左右反転フラグの配列。型は VT_UI2 | VT_ARRAY にしてください。
戻り値
配置できた場合は 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);
// 4か所に配置
SAFEARRAYBOUND bound[1];
bound[0].cElements = 8;
bound[0].lLbound = 0;
SAFEARRAY * pPositionArray = SafeArrayCreate(VT_R8, 1, bound);
double * pVar;
SafeArrayAccessData(pArray, (void**)&pVar);
double dVertex[8] = {0.0, 0.0, 10000.0, 0.0, 10000.0, 10000.0, 0.0, 10000.0};
for(int i=0; i < 8; ++i){
pVar[i] = dVertex[i];
}
VARIANT vposition;
vposition.vt = VT_R8 | VT_ARRAY;
vposition.parray = pPositionArray;
// 同様にvsize, vangle, vrevを作成
// CAD図を追加
BOOL bRet = m_MadoriDoc->AddMultipleCADPartialData(
L"C:\\Users\\Public\\Documents\\3DAD2017\\Partial\\01建具\\玄関引違ドア.mwd",
vposition, vsize, vangle, vrev);
if(!bRet){
// エラー
return;
}
// JavaScript sample
var doc = new CMadoriDoc();
var vposition = [0.0, 0.0, 10000.0, 0.0, 10000.0, 10000.0, 0.0, 10000.0];
var vsize = [600.0, 100.0, 600.0, 100.0, 500.0, 100.0, 500.0, 100.0];
var vangle = [0.0, 0.0, 90.0, 90.0];
var vrev = [0, 0, 0, 0];
var result = doc.AddMultipleCADPartialData(
"C:\\Users\\Public\\Documents\\3DAD2017\\Partial\\01建具\\玄関引違ドア.mwd",
vposition, vsize, vangle, vrev);
alert(result);