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

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

Хочу удалить пустые папки в дереве сборки. Думаю, что примерно выглядеть должно так: перебираем все папки, выбираем папку, проверяем есть ли в ней потомки, если потомков больше 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 эмодзи.

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

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

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

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

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




×
×
  • Создать...