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

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

Sla_68

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

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


26 минут назад, alek77 сказал:

Sla_68

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

Set bConf = selpart.GetActiveConfiguration
bconfname = bConf.Name 'извлекаем имя активной конвигурации базовой детали ( то же самое детаем в цикле и сравниваем названия)

 

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

Я честно говоря не большой знаток АПИ, стаж всего несколько месяцев, но что  то мне подсказывает что специального метода нет. До этого штудировал методы для детали , теперь перешел в к изучению сборок. И у меня вопросов у самого больше чем ответов.

Сегодня как кость в горле следующая проблема: (мне проще описать ситуацию). В сборке присутствуют разные и одинаковые компоненты. Я хочу клацнуть мышкой по 2 любым детялям и их объектам (вершина, кромка, поверхность). Далее жмем выполнить макрос. Макрос определяет body1(0) в каждой детальке(Bodies1 = part1.GetBodies2(swSolidBody, False)). Ищет на каждой самую большую поверхность(faces = body.GetFaces )и делает замер расстояния между поверхностями 1 и 2 тела.

Вообщем, такой замер легко произвожу с многотельной деталью, а вот в сборке результат =-1.  Не работает и  "face.SelectByMark False, 2". А точнее работает если выполняя код построчно в сборке, ( определив эти самые максимальные поверхности как face1 и face2 ) остановить ход выполнения , открыть деталь1 вручную в отдельном окне.  Как перевести эти объекты на язык понимания сборки????

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

@Sla_68 дык всё ж легко))

У вас не получается макросом выделять сущности в сборке?

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

@Sla_68 дык всё ж легко))

У вас не получается макросом выделять сущности в сборке?

И у нас не получается, можно немного разжевать для особо непродвинутых?

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

Подскажите пожалуйста, в чем разница между строками:

 

Set swCustPropMgr = CmpDoc.Extension.CustomPropertyManager(swComp.ReferencedConfiguration)
Set swCustPropMgr = CmpDoc.Extension.CustomPropertyManager("")

 

Пока не получается разобраться, как взять свойство пользователя Наименование из компонента.

У меня свойство Наименование допустим болтов прописаны на вкладке Конфигурация, а деталей на вкладке настройки.

Если использую первую строку, то для болтов отображается а для простых деталей нет.

И наоборот, если беру вторую строку, для болтов - пусто, а у деталей все в порядке.

Подскажите как быть или что писать в скобках после CustomPropertyManager, чтобы Наименование можно было взять и у болтов и у деталей?

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

Пока не получается разобраться, как взять свойство пользователя Наименование из компонента.

'....
Dim valin As String
Dim valout As String

Set selpart = comp.GetModelDoc2

Set selpartExt = selpart.Extension
   Set swCustProp = selpartExt.CustomPropertyManager("")
            bool = swCustProp.Get4("Наименование", False, valin , valout)

nametxt=valout

может так ?

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

Вопрос глобального масштаба. Есть ли  способ конвертации параметров координат модели входящей в какую либо сборку? Я имею ввиду случай  когда системы координат сборки и детали не совпадают. Или нужно писать свою функцию с матрицами перехода?

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

Или нужно писать свою функцию с матрицами перехода?

Оно ж легко)))

http://help.solidworks.com/2015/english/api/sldworksapi/transform_point_from_component_space_to_assembly_space_example_csharp.htm

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

Вопрос глобального масштаба. Есть ли  способ конвертации параметров координат модели входящей в какую либо сборку? Я имею ввиду случай  когда системы координат сборки и детали не совпадают. Или нужно писать свою функцию с матрицами перехода?

Сорри!!! Нашел пример Transform Point from Component Space to Assembly Space Example

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

- Получить координаты в модели

- Получить матрицу поворотов компонента

- получить матрицу поворотов сборки

С этими данными перекидываться координатами

 

---------------------

Посмотрите ещё пример с Inverse()

http://help.solidworks.com/2015/english/api/sldworksapi/transform_coordinates_from_sketch_to_model_space_example_vb.htm

пригодится

Изменено пользователем streamdown
Ссылка на сообщение
Поделиться на других сайтах
В 13.03.2018 в 21:26, Sla_68 сказал:

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

Олег, спасибо вам за оперативную наводку. Вы не могли бы еще подсказать на счет метода копирования проекта? (выше я уже задавал вопрос) Есть ли способ? Так я его пока что не нашел.

И еще вопросик, как правильно двигать деталь в сборке (пока что мысль пришла с помощью сопряжений и последующих их удалений)

 

 

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

метода копирования проекта

Сообщение 1782 - внимательней прочитайте.

2 минуты назад, Sla_68 сказал:

как правильно двигать деталь в сборке

По подробнее опишите задачу. Не то что хотите сделать программно, а что бы вы сделали мышкой в SW.

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

Сообщение 1782 - внимательней прочитайте.

Я думал это не по моему вопросу ответ ну и не обратил внимание в конце.

7 минут назад, streamdown сказал:

По подробнее опишите задачу.

По сути берется на модели вершина и модель перемещается в заранее рассчитанную точку сборки

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

перемещается в заранее рассчитанную точку сборки

Сам не пробовал, но ЭТО вам нужно

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

'....
Dim valin As String
Dim valout As String

Set selpart = comp.GetModelDoc2

Set selpartExt = selpart.Extension
   Set swCustProp = selpartExt.CustomPropertyManager("")
            bool = swCustProp.Get4("Наименование", False, valin , valout)

nametxt=valout

может так ?

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

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

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

Уже я вам тут не подскажу, поскольку с другой вкладкой не работал.

 

У меня у самого есть вопросик интересный. Заключается он вот в чем. Мне нужно снять координату точки в том месте ,  куда я "клацну" мышкой на поверхность или кромку. Можно ли это сделать? Теоретически это должно быть как-то реализовано, поскольку я же могу в перспективе расставлять на эскизах точки..И у них после появления однозначные координаты. Ну вот я и подумал. А вообще,  в качестве практического применения, это нужно для нахождения впоследствии ближайших тел к данной точке в заданном векторном направлении.

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Krusnik
      Ни у кого такого не было, и вот опять...    Плохо смотришь. RealView включается даже без патча на проф видеокартах. Так что патч делает что-то другое. И скажу по секрету: патч этот для проф видеокарт. Там списочек есть. На игровых ничего не поменяется.     А что не 4090? Говорят в киберпанке с трассировкой лучей картинка - отвал башки. Но я могу подсказать - снеси SW и поставь себе Inventor. Вот он на игровых видеокартах всё крутит на мониторе просто офигительно, в идеале правда нужно будет прикупить 3D-мышь.
    • davidovka
      в уравнении Гибкой области ячейки наименование первую строку исправьте на  r=ptstrim(1,asm_mbr_НАИМЕНОВАНИЕ,22,0)  
    • M_u_x_a
      @fenics555, согласен с Вами полностью. Риски, о которых Вы говорите - имеют место наравне с прочими. Выкладываю шаблон и форматку, сохранено в Creo 11. Если сравнить мануалы, реализовано по-разному. Но правка результатов не принесла.  
    • RokiSIA
      Вот и попались, пусть теперь они уже отбрехиваются
    • davidovka
      Выкладывайте свои, посмотри что не работает.
    • Anat2015
      А что, бывает по другому, программисты и операторы сразу сознаются?
    • fenics555
      так пока кто-то пользуется кнопкой "сделайкрасиво" он набивает номенклатуру, библиотеку изделий, с уже неправильно указанными параметрами. И вдальнейшем другим конструкторам пользоваться штатными средствами никак не получится, кроме как открыть КАЖДЫЙ файл, добавить нужные парметры (тут можно импортом из шаблона)  и лапками подправить. КАЖДЫЙ! И сборки. Все. Еще с булками разобраться. Иначе без этой DLLки выводиться будет ерунда. ДАЖЕ СРАНЫЙ ЧЕРТЕЖ ОБЫЧНОЙ ДЕТАЛИ! И никто другой даже не додумается, в чем же дело. Ну вот возьмет он (Конструктор с кнопочкой умной) и уволится от неразделенной любви, или по дороге на работу разобьется. Ну фактор человеческий. Бывает. Он работал, получал ЗП за то, что делал "вроде правильно", но любой другой придет- и не сможет сразбегу "в красоту"! И Бос такой, затягивая сигару: "Эх, салага, вот Стас был- да! ..." Ну там, слеза скупая, всё такое. И не объяснить, что он х8йню делал. Поэтому я стараюсь работу работать так, чтоб после меня "Фен -просто красавчик" сказал тот, кто будет после.
    • M_u_x_a
      Уважаемые Господа @fenics555 и @-stas- ! Каждый из вас по-своему прав. Пользоваться или нет дополнительными приложениями при возможности реализации штатными средствами - это выбор каждого инженера. Тут влияет ещё и специфика работы, взаимодействие с другими инженерами и тд. Лично я, пожалуй, вижу в конкретно этом инструменте скорее положительное, нежели бесполезное. В списке дополнительных приложений запущено и работает. Дело в том, что тот релиз, на который я жаловался, был под Creo 1. С этим мне помог уважаемый @davidovka , за что мой ему поклон. Однако, желаемого результата достичь не удалось, несмотря на правку графы таблицы согласно инструкции-мануалу. Теперь там просто пусто, не заполняет. Прошу кинуть в мою сторону шаблон детали и форматку с которыми оно точно работает. Успехов всем в делах и делишках.
    • Сергей Кочев
      При разборе полётов, все утверждали, что программа отлажена и её ни кто не менял и сделали по ней две детали. Ну вот зашёл в свойства файла программы и увидел, что программу редактировали именно в день аварии. Сздана 11.10 Изменена 30.10. Был в отпуске хотел посмотреть Action Log к сожалению уже данные перезаписались.
    • Даниил_91
      спасибо, просто по поиску не нашел конкретной темы кстати надо попробовать, об этом даже не подумал, спасибо
×
×
  • Создать...