Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8
Переопределение линии
 
Цитата
Sila Musli пишет:
Ещё раз повторюсь, проще уйти от программирования, но наверное, чтобы проводить линии, нужно написать кад в каде....
Не представляю как при указанной задаче можно уйти от программирования.
Буду рад советам!
Да пребудет с тобой Sila.
Переопределение линии
 
Цитата
Дмитрий пишет:
А можно подробнее про алгоритм который планируется запрограммировать? Что то я не соображу как 3 клика будут передавать параметры линий. Было бы лучше если опишешь свою задачу.
Нужна спецификация которая заполнялась бы автоматически при построении схемы.
Необходимо заполнять спецификацию следующими типами линий: трубы и провода. По 3-4 вида каждого типа.

То, что хочется сделать уже сейчас:
1-й клик. Из панели выбираем инструмент, допустим "труба 25", которая представляет из себя: линию определенного цвета. Возможно будут еще параметры для спецификации...
2-й клик. Выбираем мышкой начало линии.
3-й клик. Выбираем мышкой конец линии.
4а. После построения линии автоматом добавляем её идентификатор в переменную pipe25, выражение которой: get("0x3000019;0x3000016;0x1000007;0x3000018","LENGTH")
4б. Либо ведем базу данных, в которой храним все линии и ведем общее количество п.м. каждого типа.
5. Собственно профит!
Как происходит это сейчас?
Само построение схемы не сильно отличается от желаемого процесса, но вот спецификацию заполнять вручную утомительно и чревато серьезными ошибками.
Да пребудет с тобой Sila.
Переопределение линии
 
Только вот эти координаты не "прилипают" к привязкам, как при создании базовой линии.
Видимо не там копал...
Да пребудет с тобой Sila.
Переопределение линии
 
Цитата
Sila Musli пишет:
А не проще создать свою линию с цветом и толщиной и обойтись без апи?
Я рисую схемы, в которых этих линий сотни.
Если я вместо 15 кликов буду делать 3, то трудоемкость сократится в 5 раз!
Но мне этого мало, ибо ими еще управлять надо. Я только не соображу как...

А вот рабочий код, выводящий координаты клика:
Код
 public static void PickPoint()
{
    PickPointParameters  par = new PickPointParameters();
   PickPointResult res = TFlex.Application.PickPoint(par);
    string x,y = "";
   x = res.PaperPoint.X.ToString();
   y = res.PaperPoint.Y.ToString();
    MessageBox.Show(x+":"+y);
}   
Да пребудет с тобой Sila.
T-Flex мебель
 
[QUOTE]Дмитрий пишет:
[QUOTE] Belanchuk пишет:
[QUOTE] Osiris2000 пишет:
[QUOTE] Belanchuk пишет:

Создан ли "T-FLEX Мебель" только средствами самого "T-FLEX'a"? Либо при создании "Мебели" еще использовалось программирование?
[/QUOTE]При создании, конечно же, использовалось программирование.
[/QUOTE]Прошу уточнить:
Сможет ли пользователь, используя Open API, написать аналогичное по сложности приложение?
Либо он не сможет из-за отсутствия доступа к исходникам T-FLEX'а?
[/QUOTE]Сможет, а надо ли?
[/QUOTE]Задавал вопрос с целью оценить мощь Open API.
Спасибо.
Переопределение линии
 
Наверно темой ошибся...? :idontnow:
Да пребудет с тобой Sila.
Переопределение линии
 
Хочу повесить на кнопку макрос создающий линию с определенными свойствами (цвет, толщина).
Но в документации по API есть примеры создания только с жеско заданными координатами, а хотелось бы создавать линию с помощью мышки.
Есть один пример который, как мне кажется, смог бы прояснить ситуацию. А именно методы TFlex.PickPointMouseMove. Но я не могу его запустить.
Этот пример:
Код
using System;
using System.Windows.Forms;
using TFlex;
using TFlex.Model;
using TFlex.Model.Model2D;
using TFlex.Model.Model3D;

namespace NewMacroNamespace
{
   public class NewMacroClass
   {
 
public static void PickPoint()
{
    PickPointParameters  par = new PickPointParameters();
    //выбор только размеров
    SelectionFilter filter = new SelectionFilter();
    filter.Enable(ObjectType.Dimension);
    par.Filter = filter;
    par.Prompt = "Выбрать размер";
    par.MouseMove += new TFlex.PickPointMouseMove(PickPointMouseMove);//событие перемещения мыши //строка 23!!
    PickPointResult res = TFlex.Application.PickPoint(par);//получить точку в одном из видов активного документа
    string mess = "Объект не выбран";
    if (res.SelectedObject != null)
    {
        mess = string.Empty;
        string val = string.Empty;
        ObjectProperty[] arr = res.SelectedObject.GetProperties();//массив свойств выбранного объекта
        for (int i = 0; i < arr.Length; i++)
        {
            switch(arr[i].Type)
            {
                case (ObjectPropertyType.IntProperty):
                        val = res.SelectedObject.GetIntProperty(arr[i].Name).Value.ToString();
                    break;
                case (ObjectPropertyType.RealProperty):
                        val = res.SelectedObject.GetRealProperty(arr[i].Name).Value.ToString();
                    break;
                case (ObjectPropertyType.TextProperty):
                        val = res.SelectedObject.GetTextProperty(arr[i].Name);
                    break;
            }
            mess += arr[i].Name + ": " + val +"\r\n";    
        }
    }
    MessageBox.Show(mess);
}   

   }
}
При попытке компиляции вылазит ошибка:
'Модуль 1' (23,51) : ошибка CS0118: "TFlex.PickPointMouseMove" является "тип", но используется как "переменная"

Правильно ли я выбрал пример? Если да, то в чем ошибка? Если нет, то куда копать?
Да пребудет с тобой Sila.
T-Flex мебель
 
[QUOTE]Osiris2000 пишет:
[QUOTE] Belanchuk пишет:

Создан ли "T-FLEX Мебель" только средствами самого "T-FLEX'a"? Либо при создании "Мебели" еще использовалось программирование?
[/QUOTE]При создании, конечно же, использовалось программирование.
[/QUOTE]Прошу уточнить:
Сможет ли пользователь, используя Open API, написать аналогичное по сложности приложение?
Либо он не сможет из-за отсутствия доступа к исходникам T-FLEX'а?
T-Flex мебель
 
Создан ли "T-FLEX Мебель" только средствами самого "T-FLEX'a"? Либо при создании "Мебели" еще использовалось программирование?
Использование переменных во фрагментах, Добавление рассчитываемого параметра в диалоговое окно фрагмента
 
Цитата
Дмитрий пишет:
Пример https://db.tt/0gaEIz0v (на форум файл не загружается). Секторов можно вставить несколько, в спецификации одна позиция и суммируется по количеству.
Еще раз спасибо за пример!
Все начинает проясняться!
:)
Да пребудет с тобой Sila.
Использование переменных во фрагментах, Добавление рассчитываемого параметра в диалоговое окно фрагмента
 
[QUOTE]Дмитрий пишет:
Пример https://db.tt/0gaEIz0v (на форум файл не загружается). Секторов можно вставить несколько, в спецификации одна позиция и суммируется по количеству.
[/QUOTE]Посмотрел. Спасибо за оперативность! :)
Как оказалось, я хорошо разобрался с переменными, векторами и манипуляторами.
Но со спецификацией все очень сложно... :(
Именно из-за моего непонимания создания спецификаций я не смог добавить в неё переменную.
Изменено: Belanchuk - 27.03.2014 15:32:50
Да пребудет с тобой Sila.
Использование переменных во фрагментах, Добавление рассчитываемого параметра в диалоговое окно фрагмента
 
Есть параметрический фрагмент, у которого меняются радиус и сектор а рассчитывается площадь.
Необходимо выводить в спецификацию сборочного чертежа расчетное значение площадей всех фрагментов, которые я добавил в сборочный чертеж.

Не могу понять как это сделать. Прошу помощи.
Да пребудет с тобой Sila.
Страницы: Пред. 1 2 3 4 5 6 7 8