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

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

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 пользователей

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...