AddMultipleCADPartialData メソッド

構文

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);