構文
LONG AddSiteTriangle(WORD uType, double dXPos0, double
dYPos0, double dXPos1, double dYPos1, double dXPos2,
double
dYPos2, BYTE byLineStyle, BYTE byLineWidth, OLE_COLOR
ocLineColor, BYTE byHatchStyle,
OLE_COLOR ocForeColor, OLE_COLOR ocBackColor, BOOL bBackTrans);
三斜測量図をもとにした敷地の三角形を追加します。
パラメータ
uType
三角形のタイプ。次のいずれかの値を指定できます。
- 03辺長さ指定。
- 12辺長さと高さ指定。Aの長さと基準線からの高さを指定。
- 22辺長さと高さ指定。Bの長さと基準線からの高さを指定。
- 32辺長さと高さ指定。Aの長さとAからの高さを指定。
- 42辺長さと高さ指定。Bの長さとBからの高さを指定。
dXPos0
基準線始点(1点目_のX座標。
dYPos0
基準線始点(1点目)のY座標。
dXPos1
基準線終点(2点目)のX座標。
dYPos1
基準線終点(2点目)のY座標。
dXPos2
3点目のX座標。
dYPos2
3点目のY座標。
byLineStyle
線種。次のいずれかの値を指定できます。
- 0実線。
- 1破線。
- 2点線。
- 3一点破線。
- 4二点破線。
- 5なし。
byLineWidth
線幅。
crLineColor
線色。
byHatchStyle
模様の種類。次のいずれかの値を指定できます。
- 0なし。
- 1塗りつぶし。
- 2水平ハッチ。
- 3垂直ハッチ。
- 4右下がりハッチ。
- 5右上がりハッチ。
- 6水平と垂直の格子ハッチ。
- 7斜め格子ハッチ。
- 8ドット1。
- 9ドット2。
- 10ドット3。
- 11ウェーブ1。
- 12ウェーブ2。
- 13ウェーブ3。
- 14斜線1。
- 15斜線2。
- 16破線1。
- 17破線2。
- 18板目。
- 19グラデーション横1。
- 20グラデーション横2。
- 21グラデーション縦1。
- 22グラデーション縦2。
- 23グラデーション右上。
- 24グラデーション左上。
- 25グラデーション中心。
- 26グラデーション右上。
- 27グラデーション右下。
- 30半透明。
- 40水平ハッチ。2の水平ハッチより目が細かい。
- 41垂直ハッチ。3の垂直ハッチより目が細かい。
- 42水平と垂直の格子ハッチ。6のハッチより目が細かい。
crForeColor
前景色。
crBackColor
背景色。
bBackTrans
背景を透明にするかどうか。0で不透明、1で透明。
戻り値
三角形を追加できた場合 0 以上を返します。
-1 その他エラー
-2 辺の長さが0で、三角形が成り立たない。
-3 既存の敷地が、三斜入力されたものではありません。多角形入力した敷地と、三斜入力した敷地は混在できません。
-4 既存の敷地に、始点と終点に合う辺が見つかりません。
-5 基準線が見つかりません。三角形を追加するには、基準線、または、三斜入力された敷地が必要です。
解説
図面に三斜測量図をもとにした敷地の三角形を追加します。
基準線の座標は既に追加済みの基準線、または、敷地の辺を指定してください。無い場合は、エラーになります。
辺の長さや高さは自動計算して表示します。
色や模様は、1つめの三角形の追加のときのみ有効です。2つめ以降は、最初に追加したものと同じになります。
使用例
// 間取りオブジェクトへ接続 CMadoriDoc * m_MadoriDoc = new CMadoriDoc(); CLSIDFromProgID (L"MyHomeDesignerMadori.MadoriDoc", &clsid); GetActiveObject (clsid, NULL, &pUnk); pUnk->QueryInterface (IID_IDispatch, (void**)(&pDisp)); m_MadoriDoc->AttachDispatch (pDisp); // 敷地基準線を追加 m_MadoriDoc->AddSiteBaseLine(0.0, 0.0, 10000.0, 0.0); // 三角を追加 OLE_COLOR crLineColor = (OLE_COLOR)RGB(0,0,0); OLE_COLOR crForeColor = (OLE_COLOR)RGB(255,255,255); OLE_COLOR crBackColor = (OLE_COLOR)RGB(0,0,0); BOOL bBackTrans = FALSE; m_MadoriDoc->AddSiteTriangle(0, 0.0, 0.0, 10000.0, 0.0, 5000.0, 5000.0, 0, 0, crLineColor, 0, crForeColor, crBackColor, bBackTrans); m_MadoriDoc->AddSiteTriangle(0, 0.0, 0.0, 5000.0, 5000.0, 0.0, 5000.0,0, 0, crLineColor, 0, crForeColor, crBackColor, bBackTrans);