#include <uf_draw.h>
#include <uf_draw_errors.h>
#include <uf_draw_types.h>
#include <uf_view.h>
#include <uf_view_ugopenint.h>
using namespace std;
int ThisProject(void){
int ret;
//負の値はエラー
//double dPt[2] = {150.0, -10.0};
double dPt[2] = {200.0, 200.0};
//図面へのビューの取り込み
ret = uc6481("SHT1", "TOP", dPt, 1);
if(ret != 0){cout << "ERROR uc6481 ret = " << ret << endl; return 0;}
//図面内のビューの検索
char view_name [MAX_ENTITY_NAME_SIZE] = "";
uc6499("", view_name);
cout << "view_name -> " << view_name << endl;
//名前で指定した既存のビューのタグを取得
tag_t view_tag = NULL_TAG;
UF_VIEW_ask_tag_of_view_name (view_name, &view_tag);
//ビューのスケールを指定の値に設定
UF_DRAW_set_view_scale (view_tag, 0.1);
//ビュー境界を自動ビュー境界として定義
UF_DRAW_define_view_auto_rect(view_tag);
//現在の図面のタグを返します
tag_t drawing_tag = NULL_TAG;
UF_DRAW_ask_current_drawing (&drawing_tag);
//ビュー角度を特定の値に設定します。
UF_DRAW_set_view_angle (view_tag, 90.0);
//要素の未更新状態を照会する。今のところ、ビューと図面の2つの要素だけが有効。
logical out_of_date;
UF_DRAW_is_object_out_of_date(view_tag, &out_of_date);
if (out_of_date)
{
//図面上の1つの図面メンバビューを更新する。
UF_DRAW_update_one_view(drawing_tag, view_tag);
}
double reference_pt[2];
//図面内のビューの図面参照点位置の読み込み。
ret = uc6483("", view_name, reference_pt);
cout << "reference_pt[0] " << reference_pt[0] << endl;
cout << "reference_pt[1] " << reference_pt[1] << endl;
double reference_pt_move[2];
reference_pt_move[0] = 100.0;
reference_pt_move[1] = 100.0;
//このルーチンは、指定されたビューを、現在の図面上の所定の位置へ移動します。
ret = UF_DRAW_move_view(view_tag, reference_pt_move);
//図面内のビューの図面参照点位置の読み込み。
ret = uc6483("", view_name, reference_pt);
cout << "reference_pt[0] " << reference_pt[0] << endl;
cout << "reference_pt[1] " << reference_pt[1] << endl;
return 0;
}
|