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

Создание UDF средствами UG OPEN


irina

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

Помогите решить проблему.

Имеется элемент UDF. Необходимо его добавить в деталь.

Если нормали исходных поверхностей (на которые ссылается UDF при построении) совпадают с нормалями вновь выбранных ссылочных поверхностей, то UDF в детале создается без проблем. (Команда UF_CALL(UF_MODL_create_instantiated_udf(feature, udf_cgm, parents,

new_parents, num_parents, expression, new_exp_rhs, num_expression,

&new_udf_feature)); )

Если же нормали не совпадают, то UDF не строится

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


0.

enum UF_MODL_udf_reverse_dir_e

{

   UF_MODL_UDF_KEEP_DIR = 0,  /* Keep the UDF parent direction */

   UF_MODL_UDF_REVERSE_DIR	/* Reverse the UDF parent direction */

};

1.

struct UF_MODL_udf_ref_data_s

{

	int   num_refs;						   /* Number of UDF parents */

	tag_t *old_refs;						  /* <len:num_refs> Array of old parents */

	tag_t *new_refs;						  /* <len:num_refs> Array of new parents */

	UF_MODL_udf_reverse_dir_t *reverse_refs_dir;/* <len:num_refs>Array of rev. parent. dir. flags */ 

	UF_MODL_udf_mapping_data_t *mapping_data; /* <len:num_refs>Mapping data */

};

2.

extern UFUNEXPORT int UF_MODL_udf_init_insert_data_from_def

(

	tag_t				  udf_define_tag, /* <I>  Tag of UDF definition feature */

	UF_MODL_udf_exp_data_t *exp_data,	  /* <OF> Expression data */

	UF_MODL_udf_ref_data_t *ref_data	   /* <OF> Parent data */

);

3.

//History: This function was originally released in NX3.

extern UFUNEXPORT int UF_MODL_create_instantiated_udf1

(

	tag_t				  udf_define_tag,  /* <I> Tag of UDF definition feature */

	UF_MODL_udf_exp_data_t *exp_data,	   /* <I> Expression data */

	UF_MODL_udf_ref_data_t *ref_data,	   /* <I> Parent data */

	tag_t				  *udf_insert_tag  /* <O> Tag of UDF instantiated feature */

);

Regardzzz...

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

При использовании функции UF_MODL_create_instantiated_udf1(feature, &expr, &refs, &new_udf_feature), возникает внутренняя ошибка. Видимо я что-то не так задаю.

Есть UDF feature, получаю

tag_t *new_parents = NULL;

char **new_exp_rhs;

UF_MODL_udf_exp_data_t expr;

UF_MODL_udf_ref_data_t refs;

...

UF_CALL(UF_MODL_udf_init_insert_data_from_def(feature, &expr, &refs));

...

//меняю родителей и выражения

expr.new_exp_values = new_exp_rhs;

refs.new_refs = new_parents;

...

//создаю UDF

UF_CALL(UF_MODL_create_instantiated_udf1(feature, &expr, &refs,

&new_udf_feature));

правильная последовательность действий или я что-то упускаю?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Bot
      Оригинал: Roopinder Tara. Watch this space: Here come manufacturable generative designs Такие кронштейны демонстрируют облегчение конструкции с помощью топологии. У этого кронштейна острые края и гладкие поверхности, это означает, что деталь еще можно подвергнуть машинной обработке, чтобы сделать ее максимально легкой Мы уже знакомы с Майклом Богомольным — мы встречались с ним на его предыдущем предприятии ParaMatters, которое было продано Carbon, компании по производству 3D-принтеров, в августе 2022 года. После этого он собрал свою команду ParaMatters (шестеро из них имеют докторскую степень) и получил инвестиции в размере 2,5 млн долларов для запуска InfinitForm. Эта компания вполне может создать первое генеративное программное обеспечение, которое проектирует подходящие для использования и производства детали. Крупные поставщики САПР могут заявить, что их программное обеспечение для генеративного проектирования имеет возможности для создания [...] View the full article
    • lux59
      построить дугами барашку я пробовал, не то слегка, он в списке выдаст количество сегментов, да норм сделаю покажу, что вышло, правда пришлось делать сборкой не единой деталью, в общем я понял как это работает, Спасибо за помощь!
    • lem_on
      Ага, особенно некоторых бестолочей со своим пониманием реальности.  По типу, я скачал программу, я так вижу, я пишу книгу. 
    • malvi.dp
      Так в чем проблема создать кривую и протянуть профиль? Единственная трудность это кривую сделать из дуг и отрезков, а не сплайном. Если же не использовать инструментарий сварных конструкций, то можно и сплайн использовать в качестве направляющей.  
    • Alexey0336
      Добрый день. Как то фигурировал тут вопрос с точкой в названии файла. У меня проблема, не могу захватить модель, пишет, что с этим символом нельзя. Обойти никак нельзя получается?
    • malvi.dp
      У вас там скорее всего скрыты размеры. Перетяните их дальше от штриховки, чтоб не пересекали.
    • Snake 60
      @Бестолковый С названием топика не ошиблись? Человек спрашивает: ' VBA ' 1. Open a document in SOLIDWORKS. ' 2. Run the macro below to set inch units with '     a fractional base of 16 and no rounding. Dim swApp As SldWorks.SldWorks Dim Part As SldWorks.ModelDoc2 Option Explicit Sub main()    Set swApp = Application.SldWorks    Set Part = swApp.ActiveDoc    Part.SetUnits swINCHES, swFRACTION, 16, 0, False End Sub   Код взят отсюда: https://help.solidworks.com/2019/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodeldoc2~setunits.html Вот еще описание всех методов: https://help.solidworks.com/2021/English/api/swconst/DP_Units.htm Ну и на вкусное, статья от Артема (см. через ВПН) https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.codestack.net/solidworks-api/options/document/set-units/&ved=2ahUKEwjgpL-apN6GAxU7HxAIHYO0D2IQFnoECBAQAQ&usg=AOvVaw15xq49gocoVQ5BzEA31qGf
    • Shvg
      IModelDocExtension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitSystem, swUserPreferenceOption_e.swDetailingNoOptionSpecified, swUnitSystem_e.<Value>), где swUnitSystem_e.<Value> перечисление swUnitSystem_CGS           1 = Centimeter, gram, second  swUnitSystem_Custom        4 = Lets you set length units, density units, and force  swUnitSystem_IPS           3 = Inch, pound, second  swUnitSystem_MKS           2 = Meter, kilogram, second  swUnitSystem_MMGS          5 = Millimeter, gram, second   
    • Ветерок
      Вопрос про "включение RGK". Если в модели какие-то функции сделаны с использованием RGK, эта модель будет работоспособной на другом компе, где RGK "не включен"? И вообще не понятно, получается система использует два разных ядра одновременно? Или включая RGK, автоматически выключается Прасолид? А обратно переключиться можно? Если можно итак, и так, и туда, и обратно, тогда не понятно зачем вообще это включение-выключение.
    • TVM
      Так на скорую руку строились. Ясно что такое воспроизвести в живую затруднительно. 
×
×
  • Создать...