AddUsage メソッド

構文

BOOL AddUsage(VARIANT &vVertex, long uUsage, double dKenpei, BOOL bBoka, BOOL bKado,
     double dKenpeiMax, double dYoseki, double dYosekiMax, BOOL bAbsHeightSw, double dAbsHeight,
     BOOL bRoadObliqSw, double dRoadObliqSlope, double dRoadObliqInfluence,
     BOOL bNorthObliqSw, double dNorthObliqHeight, double dNorthObliqSlope,
     BOOL bNeighborObliqSw, double dNeighborObliqHeight, double dNeighborObliqSlope,
     BOOL bHLObliqSw, LPCTSTR szHLName, long nHLType, long nHLRoad,
     double h1, double k1, double h2, double k2, double h3, BOOL bHLUserDefine, LPCTSTR szHLRemark,
     BOOL bShadowSw, double dShadowHeight, double dShadowTime1, double dShadowTime2, BOOL bHokkaido,
     double dLatitude, double dLongitude);

用途地域範囲を追加します。

パラメータ

vVertex
(x, y) 形状の頂点列。型は VT_R8 | VT_ARRAY にしてください。
uUsage
用途地域種別。次のいずれかの値を指定します。
  • 0未指定
  • 1第1種低層住居専用地域
  • 2第2種低層住居専用地域
  • 3第1種中高層住居専用地域
  • 4第2種中高層住居専用地域
  • 5第1種住居地域
  • 6第2種住居地域
  • 7準住居地域
  • 8近隣商業地域
  • 9商業地域
  • 10準工業地域
  • 11工業地域
  • 12工業専用地域
  • 13指定なし
dKenpei
指定建ぺい率。百分率で指定します。
bBoka
防火地域か。防火地域なら1、違うなら0。
bKado
角地か。角地なら1、違うなら0。
dKenpeiMax
許容建ぺい率。百分率で指定します。
dYoseki
指定容積率。百分率で指定します。
dYosekiMax
許容容積率。百分率で指定します。
bAbsHeightSw
絶対高さ制限があるか。あるなら1、ないなら0。
dAbsHeight
絶対高さ制限の高さ。mm単位で指定します。
bRoadObliqSw
道路斜線制限があるか。あるなら1、ないなら0。
dRoadObliqSlope
道路斜線の勾配。
dRoadObliqInfluence
道路斜線の適用距離。mm単位で指定します。
bNorthObliqSw
北側斜線制限があるか。あるなら1、ないなら0。
dNorthObliqHeight
北側斜線の立上高。mm単位で指定します。
dNorthObliqSlope
北側斜線の勾配。
bNeighborObliqSw
隣地斜線制限があるか。あるなら1、ないなら0。
dNeighborObliqHeight
隣地斜線の立上高。mm単位で指定します。
dNeighborObliqSlope
隣地斜線の勾配。
bHLObliqSw
高度地区制限があるか。あるなら1、ないなら0。
szHLName
高度地区制限の名称。
nHLType
高度地区の規制タイプ。
  • 0絶対高さ
  • 1一段階斜線
  • 2一段階斜線+絶対高さ
  • 3二段階斜線
  • 4二段階斜線+絶対高さ
nHLRoad
高度地区で道路がある場合の規制基準。
  • 0反対側の境界線
  • 1道路の中心線
h1
高度地区の一段階めの立上高。m単位で指定します。
k1
高度地区の一段階めの勾配。
h2
高度地区の二段階めの立上高。m単位で指定します。
k2
高度地区の二段階目の勾配。
h3
高度地区の絶対高。m単位で指定します。
bHLUserDefine
ユーザー定義高度地区か。ユーザー定義のとき1、システム定義のとき0。
szHLRemark
高度地区に関する注釈。
bShadowSw
日影規制があるか。あるなら1、ないなら0。
dShadowHeight
日影規制の受影面高。mm単位で指定します。
dShadowTime1
5mライン上の日影規制時間。時間単位で指定します。
dShadowTime2
10mライン上の日影規制時間。時間単位で指定します。
bHokkaido
北海道用の日影規制時間選択肢に切り替えるか。切り替えるとき1、切り替えないとき0。
dLatitude
敷地の緯度。秒単位で指定します。
dLongitude
敷地の経度。秒単位で指定します。

戻り値

用途地域範囲を追加できた場合 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, 5000.0, 0.0, 5000.0, 10000.0, 0.0, 10000.0}; 
for(int i=0; i < 8; ++i){
	pVar[i] = dVertex[i];
}
VARIANT v;
v.vt = VT_R8 | VT_ARRAY;
v.parray = pArray; 

long lRet = m_MadoriDoc->AddUsage(v, 5, 60.0, TRUE, TRUE, 80.0, 200.0, 200.0,
	FALSE, 0.0, TRUE, 1.25, 30000.0, FALSE, 0.0, 0.0, TRUE, 20000.0, 1.25,
	FALSE, "", 1, 0, 5.0, 0.6, 0.0, 0.0, 0.0, FALSE, "",
	TRUE, 4000.0, 4.0, 2.5, FALSE, 35.0 * 60.0 * 60.0, 135.0 * 60.0 * 60.0);
SafeArrayUnaccessData(pArray);
if(!lRet){
	// エラー
	return;
}
// JavaScript sample
var doc = new CMadoriDoc();

var vertex = [0.0, 0.0, 5000.0, 0.0, 5000.0, 10000.0, 0.0, 10000.0];
var uUsage = 5;
var dKenpei = 60.0;
var bBoka = true;
var bKado = true;
var dKenpeiMax = 80.0;
var dYoseki = 200.0;
var dYosekiMax = 200.0;

var bAbsHeightSw = false;
var dAbsHeight = 0.0;
var bRoadObliqSw = true;
var dRoadObliqSlope = 1.25;
var dRoadObliqInfluence = 30000.0;
var bNorthObliqSw = false;
var dNorthObliqHeight = 0.0;
var dNorthObliqSlope = 0.0;
var bNeighborObliqSw = true;
var dNeighborObliqHeight = 20000.0;
var dNeighborObliqSlope = 1.25;

var bHLObliqSw = false;

var szHLName = "";
var nHLType = 1;
var nHLRoad = 0;
var h1 = 5.0;
var k1 = 0.6;
var h2 = 0.0;
var k2 = 0.0;
var h3 = 0.0;
var bHLUserDefine = false;
var szHLRemark = "";
var bShadowSw = true;
var dShadowHeight = 4000.0;
var dShadowTime1 = 4.0;
var dShadowTime2 = 2.5;
var bHokkaido = false;
var dLatitude = 35.0 * 60.0 * 60.0;
var dLongitude = 135.0 * 60.0 * 60.0;

var result = doc.AddUsage(vertex, uUsage, dKenpei, bBoka, bKado, dKenpeiMax, dYoseki, dYosekiMax,
	bAbsHeightSw, dAbsHeight, bRoadObliqSw, dRoadObliqSlope, dRoadObliqInfluence,
	bNorthObliqSw, dNorthObliqHeight, dNorthObliqSlope, bNeighborObliqSw, dNeighborObliqHeight,
	dNeighborObliqSlope,
	bHLObliqSw, szHLName, nHLType, nHLRoad, h1, k1, h2, k2, h3, bHLUserDefine, szHLRemark,
	bShadowSw, dShadowHeight, dShadowTime1, dShadowTime2, bHokkaido, dLatitude, dLongitude);

alert(result);