Нужна помощ!
У меня не работает функтцыя: PickPoint(...) в 3Д окне.
Эта функцыя опозноёт мышку в 2Д окне! Но как мне зделатй так, что-бы эта функцыя опознощала мышку и в 3Д окне
public static void PickPoint()
{
Document doc = TFlex.Application.ActiveDocument;
PickPointParameters par = new PickPointParameters();
//select dimentions only
CustomFilter filter = new CustomFilter();
//filter.Enable(ObjectType.Workplane);
filter.DisableAllTypes();
filter.Enable( ObjectType.Node3D);
filter.Enable( ObjectType.Face);
filter.Enable( ObjectType.Outline);
foreach(ModelObject ob in doc.GetObjects())
{
filter.CanSelectObject(ob);
}
par.Filter = filter;
par.Prompt = "Select dimention";
par.MouseMove += par_MouseMove;
bool point = false;
while (!point)
{
PickPointResult res = TFlex.Application.PickPoint(par);//get point in one of the views of the active document
string mess = "Object is not selected";
if (res.SelectedObject != null)
{
if (res.SelectedObject.GetType() == typeof(Objects3D))
{
MessageBox.Show("Objekt ausgewählt: "+res.GetType().ToString());
if (res.SelectedObject != null)
{
MessageBox.Show(res.SelectedObject.ToString());
}
else
{
string msg = string.Empty;
msg += res.ModelPoint.ToString();
MessageBox.Show(msg);
}
point = true;
}
}
}
}
static void par_MouseMove(object sender, PickPointEventArgs e)
{
MessageBox.Show(sender.GetType().ToString());
}
Как толко я стартую макро, то сразужи получаю ресултат. А я хочу чтобы в 3Д-окне выбратй с начало 3Д-точку.
У меня не работает функтцыя: PickPoint(...) в 3Д окне.
Эта функцыя опозноёт мышку в 2Д окне! Но как мне зделатй так, что-бы эта функцыя опознощала мышку и в 3Д окне
public static void PickPoint()
{
Document doc = TFlex.Application.ActiveDocument;
PickPointParameters par = new PickPointParameters();
//select dimentions only
CustomFilter filter = new CustomFilter();
//filter.Enable(ObjectType.Workplane);
filter.DisableAllTypes();
filter.Enable( ObjectType.Node3D);
filter.Enable( ObjectType.Face);
filter.Enable( ObjectType.Outline);
foreach(ModelObject ob in doc.GetObjects())
{
filter.CanSelectObject(ob);
}
par.Filter = filter;
par.Prompt = "Select dimention";
par.MouseMove += par_MouseMove;
bool point = false;
while (!point)
{
PickPointResult res = TFlex.Application.PickPoint(par);//get point in one of the views of the active document
string mess = "Object is not selected";
if (res.SelectedObject != null)
{
if (res.SelectedObject.GetType() == typeof(Objects3D))
{
MessageBox.Show("Objekt ausgewählt: "+res.GetType().ToString());
if (res.SelectedObject != null)
{
MessageBox.Show(res.SelectedObject.ToString());
}
else
{
string msg = string.Empty;
msg += res.ModelPoint.ToString();
MessageBox.Show(msg);
}
point = true;
}
}
}
}
static void par_MouseMove(object sender, PickPointEventArgs e)
{
MessageBox.Show(sender.GetType().ToString());
}
Как толко я стартую макро, то сразужи получаю ресултат. А я хочу чтобы в 3Д-окне выбратй с начало 3Д-точку.