Перейти к публикации

Рекомендованные сообщения

Здравствуйте, уважаемые адепты CREO. Вопрос не простой, но как по мне, очень интересный.

Есть деталь part1.prt с размером d1=10 h7.

Возникла потребность средствами web.link получить этот размер полностью. Т.е. и значение и допуск.

Благодаря встроенным примерам получить значение размера удалось достаточно быстро, а вот с допуском оказалось сложнее. Мучаюсь уже не первый день.

Уверен, что здесь есть люди, смыслящие в данном вопросе.

 

<html>

<head>
<title>Web.Link Models Test</title>

<script src="../jscript/pfcUtils.js">
</script>
<script src="../jscript/wl_header.js">
document.writeln ("Error loading Pro/Web.Link header!");
</script>

<script  src="../jscript/pfcSelectionExamples.js">
 document.writeln ("Error loading script!");
</script>

<script language="JavaScript">

var name = document.pwl.pwlMdlCurrentGet().MdlNameExt; // Имя модели
var dim = document.pwl.pwlDimensionInfoGetByName(name,"d1",201); //Значение размера d1

window.onload = function() 
{
n.innerHTML=name;
d.innerHTML=dim.DimValue;
};


</script>
</head>

<body>

<p id='n'></p>
<p id='d'></p>

</body>
</html>

 

 

Ссылка на сообщение
Поделиться на других сайтах


Смотрите документацию и пример dimensions.html

var ret = document.pwl.pwlDimensionInfoGetByName(
                  document.get_value_name.ModelNameExt.value,
                  document.get_value_name.DimName.value,
                  DimType);
    if (!ret.Status)
    {
        alert("pwlDimensionInfoGetByName failed (" + ret.ErrorCode + ")");
        return ;
    }
    document.get_value_name.DimValue.value = ret.DimName + " (#" +
        ret.DimID + "):  " + ret.DimValue +
        ((ret.DimStyle == parseInt(document.pwlc.PWL_ANGULAR_DIM)) ?
         " degrees" : "") + " (-" + ret.TolMinus + "/+" + ret.TolPlus + ")";

Функция возвращает объект, который содержит и значение размера и допуски.

Ссылка на сообщение
Поделиться на других сайтах
В 17.09.2018 в 11:58, Onizuka сказал:

Смотрите документацию и пример dimensions.html

Функция возвращает объект, который содержит и значение размера и допуски.

Спасибо, действительно нашел! 

var tolTable=document.pwl.pwlDimensionInfoGetByName(name,"d1",201).DimensionToleranceObject;

Однако возник новый, очередной вопрос: как узнать цвет аннотации, в частности данного размера. Такого свойства в объекте-размере я не нашел.

Подозреваю, имеется  иная функция, работающая именно с аннотациями и их стилями. Вроде даже нашел что-то в документации, но не пойму как вызвать, чтоб получить искомое значение. В примерах, увы такого нет.

Изменено пользователем Andrwich1310
Ссылка на сообщение
Поделиться на других сайтах
11 час назад, Andrwich1310 сказал:

Однако возник новый, очередной вопрос: как узнать цвет аннотации, в частности данного размера.

Нужно отталкиваться от того зачем вам это надо? Так как цвет размера в Creo задается общими настройками и зависит от типа размера (слабы, сильный, управляемый, управляющий и тд). Те произвольный цвет на размер не назначит, а поэтому не понятно зачем вам получать этот цвет.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Onizuka сказал:

Нужно отталкиваться от того зачем вам это надо? 

В общем, существует пресс-форма. На детали которой в чертеже проставляются размеры. Именно проставляются, а не проявляются с модели. Часть этих размеров являются формообразующими (особо ответвенными). Эти размеры имеют другой цвет(заведомо известный и определенный, к примеру #000000 ). Т.е. отличный от цвета по умолчанию.

Задача: получить список этих "перекрашенных" размеров. 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Andrwich1310 сказал:

Часть этих размеров являются формообразующими (особо ответвенными). Эти размеры имеют другой цвет(заведомо известный и определенный, к примеру #000000 )

 

А каким образом в Creo данные проставленные размеры отмечаются особо ответственными?

Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, Onizuka сказал:

А каким образом в Creo данные проставленные размеры отмечаются особо ответственными?

По умолчанию цвет проставленных размеров к примеру синий. Пользователь на вкладке "Формат" применяет к некоторым, по его мнению ответственным размерам стиль, который меняет цвет размеров на, к примеру, красный. Далее вызывается Web.link, он перебирает все размеры на чертеже и если размер красный, web.link записывает значение этого размера в <div>

Ссылка на сообщение
Поделиться на других сайтах
56 минут назад, Andrwich1310 сказал:

Пользователь на вкладке "Формат" применяет цвет размеров

Хм.. Тогда нужно извлекать цвет текста размера.

Ищите как использовать

pfcAnnotationTextStyle GetNoteTextStyle() 

 

Ссылка на сообщение
Поделиться на других сайтах
В 19.09.2018 в 15:35, Onizuka сказал:

Ищите как использовать

Честно потратив два дня на поиски, добился лишь получения цвета заметки, как раз-таки с использованием GetNoteTextStyle().

А вот такой-же маневр провернуть с размером на чертеже - ни в какую. Хоть логика подсказывает что такая возможность быть должна.

Не могли бы Вы, если не затруднит, "ткнуть меня носом", написав пример? А то уже начинаю сомневаться в этой затее...

Ссылка на сообщение
Поделиться на других сайтах

Я пишу на "чистом" TOOLKIT. Со всеми хитростями Web.Link не знаком.

Напишите сюда кусок кода, в котором пробуете получить цвет из размера. Попробую что-нибудь подсказать.

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Onizuka сказал:

Напишите сюда кусок кода

Вот код на получение цвета из заметки:

var ret = drawing.ListDetailItems(pfcCreate("pfcDetailType").DETAIL_NOTE,0).Item(i).GetNoteTextStyle().GetColor();

Все достаточно просто и понятно.

 

А вот кода на получение объекта-размера:

var session = pfcGetProESession ();
var drawing = session.CurrentModel;
var drwmodels = drawing.ListModels();
var modelitemtype = pfcCreate("pfcModelItemType");
var drwmodel = drwmodels.Item(0);
var showndims = drawing.ListShownDimensions(drwmodel, modelitemtype.ITEM_DIMENSION);

var ret=showndims.Item(0);

 

В отличие от объекта - заметки, никакого к примеру GetDimTextStyle().GetColor() , увы нет. (По крайней мере я не нашел. А я искал)

Закрадывается впечатление, что Web.Link просто-напросто не умеет получать цвет текста размера. 

С другой стороны Web.Link способен извлекать и более специфичные свойства объектов...

 

 

 

Ссылка на сообщение
Поделиться на других сайтах

@Andrwich1310

У API для Creo довольна неплохая архитектура, основанная на объектно-ориентированном подходе. Многие объекты имеют единого родителя и наследуют методы и функции друг друга. Например, объект заметки используется для отображения текста в аннотации, таблице, размерах и тд.

Дак вот....

Заметка и размер имеют единого родителя ModelItem. Те методы заметки должны сработать для извлечения свойств текста размера.

Пробуйте

var myDim = document.pwl.pwlDimensionInfoGetByName(name,"d1",201).DimensionObject;
var color = myDim.GetNoteTextStyle().GetColor() 

Еще как вариант инициализировать объект размера через ModelItem

var myID = document.pwl.pwlDimensionInfoGetByName(name,"d1",201).DimID;
//Затем инициализировать по ID
pfcModelItem	GetItemById	(pfcModelItemType Type, number Id)

И у полученного ModelItem вызвать GetNoteTextStyle().

Изменено пользователем Onizuka
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Anat2015
      Лапша на уши. Просто им не хочется настраивать, а тупо перенести параметры. За такую работу им и соответственно платить надо, по миниму.
    • maxx2000
      логика диктует что это 80% от максимального просвета, т.е. 0,8 от Кмах.
    • DuS
      поищите в справке или на ютубе граничная рамка.
    • plm-ural
      О вебинаре Уважаемые коллеги! Приглашаем Вас на вебинар, посвященный обзору возможностей программы Логос Прочность. Это высокоточный отечественный инструмент для численного решения широкого спектра задач статического и динамического упругопластического деформирования и разрушения конструкций, а также вибрационного анализа и широкополосной случайной вибрации при проектировании высокотехнологичных промышленных изделий.   Дата проведения: 24 апреля 2024 12:00 (МСК)   Регистрация на вебинар   Программа вебинара:   1.    Общая характеристика решения Логос Прочность 2.    Перечень основных решаемых задач (статические расчеты прочности, вибрационный динамический анализ, динамические расчеты во временной области) 3.    Демонстрация решения задач     Логос Прочность обладает достаточно удобным пре/постпроцессором, позволяющим корректировать и создавать геометрию, строить сетку конечных элементов, формировать необходимые условия задачи, а также производить обработку результатов. Решение разрабатывается с учетом требований отечественных предприятий для решения реальных задач в различных отраслях промышленности, включая обычные вооружения, атомную энергетику, авиастроение, транспортное и военное машиностроение и многие другие.   Вебинар будет интересен специалистам, занимающимся прочностными расчетами.   Спикер  — Сергей Хрулев, руководитель бригады прочности ГК «ПЛМ Урал».   Участие в вебинаре бесплатное. Необходима регистрация. Если по каким-либо причинам у вас не получится присоединиться к вебинару, мы обязательно отправим видеозапись при условии пройденной регистрации. Направляйте свои вопросы и пожелания на почту info@plm-ural.ru. Будем рады видеть Вас в качестве участников!   Регистрация на вебинар  
    • plm-ural
      О вебинаре Приглашаем Вас на вебинар, посвященный сравнительному анализу российской системы компьютерного моделирования литейных процессов ПолигонСофт и ПО ProCAST от ESI Group. Сравнение систем будет проведено на примере решения актуальной задачи литья лопатки для газотурбинных двигателей. Дата проведения: 25 апреля 2024 12:00 (МСК)   Регистрация на вебинар   Программа вебинара:   сравнение решаемых задач; сравнение возможностей ПО в плане подготовки расчетной модели; сравнение постановки задачи; сравнение и анализ полученных результатов и т.д.  ответы на вопросы.   Сравнение систем будет проведено на примере решения актуальной задачи литья лопатки для газотурбинных двигателей. Лопатки для двигателестроения являются одними из самых сложных в технологическом плане отливок и, в то же время, одними из самых ответственных деталей в агрегате. К ним предъявляются высокие требования к качеству (наличие дефектов и структура зерна), так как отливки работают в тяжелых эксплуатационных условиях.  Для их изготовления применяются дорогостоящие сплавы и, следовательно, получение не качественной отливки обходится предприятиям очень дорого как в материальном плане, так и в плане репутации.    Компьютерное моделирование изготовления таких отливок поможет избежать грубых ошибок в технологии на этапе разработки, снизить себестоимость изделия за счет минимизации брака и сократить время запуска технологии в производство.   Ведущий: Максим Ведерников, инженер технической поддержки ГК "ПЛМ Урал".   Участие в вебинаре бесплатное. Необходима регистрация. Если по каким-либо причинам у вас не получится присоединиться к вебинару, мы обязательно отправим видеозапись при условии пройденной регистрации. Направляйте свои вопросы и пожелания на почту info@plm-ural.ru.   Будем рады видеть Вас в качестве участников!   Регистрация на вебинар
    • ZVUM
      Здравствуйте, помогите пожалуйста с советом.. Хочу упростить работу в спецификациях убрав функцию прописывания размеров деталей. Что я хочу? А именно, сделать шаблон детали, чтобы при создании детали и моделировании чего-либо, не важно - бобышкой или гнутые, хочу чтобы в примечаниях автоматически указывались габаритные размеры "Длина" "Ширина" "Толщина", возможно ли как-то в переменных вписать определение размера и чтобы прописывались в суммарной информации? По типу 'RD1@Примечания@Деталь.moPart_c'. Спасибо!
    • Killerchik
      Эх, текстовый файл, я тогда так не умел :( Нет, измерял по одной точке и фоткал с экрана соответствующие переменные #1хх. Сейчас бы конечно применил команду dprnt или как там её, для записи результатов в файл на стойке. Единственно что, последний раз когда надо было обмерить какой-то кривой ужас, писал точки в переменные #600-#999 и потом фоткал все разом с экрана. Хотя бы УП измерения была одна единая.
    • Kosi27
      Здравствуйте! При попытке выполнить программу фрезерования на токарно-фрезерном станке возникает ошибка при моделировании #61102 "Направление шпинделя не запрограммировано". Обнаружил, что меню выбора направления обработки урезано, вместо "торец C, Бок.пов С, Торец Y, Бок.пов Y" есть только пункт "Торец, Бок.пов".   Фото меню моделирования с ошибкой  Фото меню со стойки машины Скриншот меню из sinutrain   Приводные блоки через меню TSM запускаются.  Машина Headman T65M/750, стойка Siemens 828D.  Подскажите пожалуйста, кто сталкивался с такой проблемой и как её решить? Поставщик оборудования очень тяжело идет на контакт, а инструменты неосевой обработки необходимы как никогда. HELP:(
    • Говорящий Огурец
      Лучше, чем это сделал OpenMind, у меня вряд ли получится :) Полно инфы как в текстовом формате, так и видосов на Трубе
    • ak762
      @Killerchik а как вы точки касания в текстовый файл записывали, руками с экрана или использовали станочную команду?
×
×
  • Создать...