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

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

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

 

Эти волшебным образом не работают:

ChildCount = Feature.IGetChildCount()

Child = Feature.GetChildren()
 

 

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


1 час назад, alek77 сказал:

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

 

Эти волшебным образом не работают:

ChildCount = Feature.IGetChildCount()

Child = Feature.GetChildren()
 

 

Вопрос снят, разобрался

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

Вопрос снят, разобрался

Так в этом случае ответ пишут, а не снимают заданный вопрос без ответа.

Ссылка на сообщение
Поделиться на других сайтах
В 03.08.2018 в 10:12, Kelny сказал:

Так в этом случае ответ пишут, а не снимают заданный вопрос без ответа.

сорри, не все правила еще знаю, буду исправляться, готовый макрос положу в тему Сделай свою работу в Solidworks эффективнее

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

Кто нибудь с api в pdm занимался? Есть задача по списку состава изделия скопировать (сделать общими) файлы в другую папку хранилища. Не могу найти команду создания (vba или с) общей детали в pdm... Если кто сталкивался - ткните в ссылку плиз..

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

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

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

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

В 17 версии именно так и происходит, без макроса

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

В 17 версии именно так и происходит, без макроса

Не, в 15 версии тоже. ))) Но мне нужно именно с помощью макроса добавлять компоненты, но чтобы при этом работало именно так, как я выше описал. )

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

а прилеплялся бы к мышке и бегал вместе со стрелкой

Нет.

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

в 15 версии тоже. ))) Но мне нужно именно с помощью макроса добавлять компоненты, но чтобы при этом работало именно так, как я выше описал. )

Так может тогда просто команду вставки нового компонента запустить?

swModelDocExt.RunCommand  swCommands_InsertComponents, ""

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

http://help.solidworks.com/2015/english/api/swcommands/SOLIDWORKS.Interop.swcommands~SOLIDWORKS.Interop.swcommands.swCommands_e.html

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

Так может тогда просто команду вставки нового компонента запустить?


swModelDocExt.RunCommand  swCommands_InsertComponents, ""

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

http://help.solidworks.com/2015/english/api/swcommands/SOLIDWORKS.Interop.swcommands~SOLIDWORKS.Interop.swcommands.swCommands_e.html

О, как вариант. ) Надо попробовать.

23 минуты назад, Kelny сказал:

Так может тогда просто команду вставки нового компонента запустить?


swModelDocExt.RunCommand  swCommands_InsertComponents, ""

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

http://help.solidworks.com/2015/english/api/swcommands/SOLIDWORKS.Interop.swcommands~SOLIDWORKS.Interop.swcommands.swCommands_e.html

Попробовал, и честно говоря, не очень понял, как с этим вообще работать. )) Буду разбираться...

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

Попробовал, и честно говоря, не очень понял, как с этим вообще работать. )) Буду разбираться...

Просто активируется инструмент Вставка- Из файла...

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

 

Проверьте, что есть такая константа, а то в отсутствии соответствия констант числам из таблицы может вызываться другая команда, например, открыть файл (нулевое значение). Или сразу определите: swCommands_InsertComponents = 13

 

Цитата

swCommands_InsertComponents=13

swModelDocExt.RunCommand swCommands_InsertComponents, ""

или

Цитата

swModelDocExt.RunCommand 13, ""

 

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

Просто активируется инструмент Вставка- Из файла...

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

 

Проверьте, что есть такая константа, а то в отсутствии соответствия констант числам из таблицы может вызываться другая команда, например, открыть файл (нулевое значение). Или сразу определите: swCommands_InsertComponents = 13

 

или

 

Спасибо. )

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

Здравствуйте! Подскажите, пожалуйста! Создал макрос, который создаёт нужный мне текст заметки и вставляет её в чертёж.

Координаты положения заметки (например: myAnnotation.SetPosition(0.2, 0.25, 0)) в макросе не прописаны, поэтому точкой вставки заметки

является та точка, куда я ткнул последний раз мышкой в экран перед запуском макроса.

Как в макросе достать координаты этой последней точки. Хочу использовать их в написании другого макроса.

Ссылка на сообщение
Поделиться на других сайтах
23 минуты назад, Кузнецов Антон сказал:

Как в макросе достать координаты этой последней точки. Хочу использовать их в написании другого макроса.

Как вариант EVENTS действий мыши: http://help.solidworks.com/2015/english/api/sldworksapi/Run_SOLIDWORKS_Commands_and_Synthesize_Mouse_Events_Example_VB.htm

 

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

Здравствуйте! Подскажите, пожалуйста! Создал макрос, который создаёт нужный мне текст заметки и вставляет её в чертёж.

Координаты положения заметки (например: myAnnotation.SetPosition(0.2, 0.25, 0)) в макросе не прописаны, поэтому точкой вставки заметки

является та точка, куда я ткнул последний раз мышкой в экран перед запуском макроса.

Как в макросе достать координаты этой последней точки. Хочу использовать их в написании другого макроса.

Можно попробовать метод GetSelectionPoint2 интерфейса ISelectionMgr.

 
Ссылка на сообщение
Поделиться на других сайтах
В ‎14‎.‎09‎.‎2018 в 21:36, Shvg сказал:

Можно попробовать метод GetSelectionPoint2 интерфейса ISelectionMgr.

Спасибо. Странно только, что в чертеже, если не выбрана какая-либо точка или объект, координата "z" не ровно "0", а очень

близкая к нулю цифра.

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

Здравствуйте! Подскажите, а есть какой-нибудь метод (функция, не знаю, как правильно называется), без кучи кода, чтобы сохранить BOM в Excel? Что-нибудь вроде BomSaveExcel. )))

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

без кучи кода это Вставка-Таблица-Спецификация в файле эксель. Но это не интересно, интересно с кучей кода, я когда-то выкладывал сюда свой вариант. 

 

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

Посоветуйте, как научиться делать ехе из макросов, или с чего начать копать в данном направлении? 

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

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

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

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

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

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

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

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

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

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

    • SXoxa



  • Сообщения

    • maxx2000
      @fenics555, я никогда не задавался таким вопросом, а можно ли отключить авторегенрацию компонентов или заморозить? Если прям опции нет, может через Тулкит или Апи?
    • fenics555
      штифты разрезные- понятно, что примонтаже изменяют размер по отверстию.  Резиновое кольцо уплотнительное- оно меняет не только диаметр наружный и внутренний, но и толщину. именно долго открываются сборки, содержащие эти изделия.  можно конечно и без нее обходиться, но мы уже привыкли. Только грузятся сборки очень долго, но это врятли из-за гибкости.
    • Viktor2004
    • UkulyAlex
      Добрый день. Работаю в t-flex 16. Имеется приспособление в котором более 150 позиций деталей, спецификация сделана по структуре изделия. Возникла необходимость изменения конструкции, некоторые детали из середины списка пришлось удалить. После обновления отчёта позиции сдвигаются, как сделать чтобы оставались на месте, т.е. был пропуск позиций в середине раздела "Детали"? 
    • статист
      Спасибо за цитату, полезная для меня   Я знал до этого способ использовать атрибуты LATT для задания направления, но они применялись только к построенным линиям. Если например рассматривать созданный элемент E, 1, 2, где для задания применяются только два узла, то тут уже никак не поменяешь положение третьего узла, так как его нет. Нужно тогда создавать отдельно направляющий узел  и задавать его через EMODIF,EID, 3, NID.   Но получается без создания узла, задать направление нельзя. В настране по крайней мере так можно. А в ансисе нужно плодить лишние узлы. Грустно)
    • FROST_R6
      Есть монорельса размером 12м. Хочу проверить перемещение при нагрузке на середину в 2 тонны. Саму монорельсу фиксировать не нужно, поэтому я поставил ее на 2 призмы и зафиксировал их. Расчет не получается провести - сначала программа пишет, что "деформация в данном исследовании слишком значительная и нереалистичная, хотите остановить программу и перезапустить исследование с меньшими нагрузками или с более жесткой моделью?". Я выбираю "нет". После долгого процесса расчета появляется сообщение о том, что "Состояние равновесия не было достигнута" и "Анализ больших смещений был остановлен до сохранения результата", появляется надпись о сбое расчета. 
    • maxx2000
      подгружаются при повторном открытии сборки или при первой вставке? Ну и гибкость сначала вызвала вопрос, но я не заметил существенной задержки при выборе способа вставки с ней или без неё.
    • Ветерок
      Я не понял зачем в этих деталях задана гибкость. При том, что новые значения размеров определяются не измерением, а вводом вручную.
    • BOJIOD9I
      Добрый день! Подскажите куда внести изменения на стойке fanuc 0i, чтобы когда вводишь коррекцию в графу износа она не отображалась на координатах. Пример: Резец точит размер 100 мм, по факту получается 101мм. В графе износ вносишь -1.0 мм. В итоге по координатам будет показано что резец точит 99мм, а по факту станет 100мм как нужно было.
    • ДОБРЯК
      Это есть в документации. Может быть эта информация будет полезна не только вам. https://www.mm.bme.hu/~gyebro/files/ans_help_v182/ans_elem/Hlp_E_BEAM188.html В этом разделе подробно написано Очень подробное описание этого элемента. Это элемент Тимошенко. Это надо учитывать используя этот элемент в расчетах. Остается только один вопрос зачем менять номер узла, если сразу можно задать нужный номер и менять его координаты?  
×
×
  • Создать...