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

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

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

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




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...