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

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

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

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




  • Сообщения

    • alek77
      Да, спасибо, я уже из интереса ее нашел. Еще раз повторю, чтобы не выхватить, сам я такими методами указния размеров не пользуюсь, это самая вредная практика из всех, что встречал. В свое время имел много проблем в автокаде, корректируя чужие чертежи. Но там и отртогональные линии под углом в 0,001 градуса были в норме, и миллион линий одна поверх другой, и незамкнутые отрезки и много всего, от чего волосы дыбом. В солиде, думал, не столкнусь с таким, наивный. Поэтому искал и нашел макрос который косяки размеров подсвечивает. Он вполне рабочий, но не стабильный. В чем причина не разбирался, так как со своей задачей он справляется. Причем отрабатывает и галочки, и замену текста в размере. Хорошо, что @malvi.dp нашел время и что-то корректирует, спасибо отдельное ему за это. Макрос достаточно полезный при работе с чужими документами. И если удастся сохранить все начальные функции этого макроса против изощренных методов вредительства - будет офигенно.
    • Kelny
      Если этой ссылки достаточно для отображения материала и материал уже есть в обозначенной модели, то возможно подойдёт TabBuilder: https://help.solidworks.com/2023/russian/SolidWorks/SWHelp_List.html?id=e68c1877b4fa431483f8c751bd9fcc78&_gl=1*lby1j3*_up*MQ..*_ga*NTEyNjA5NDQ3LjE3MTQxMTU3MzA.*_ga_XQJPQWHZHH*MTcxNDExNTcyOS4xLjEuMTcxNDExNTczNy4wLjAuMA..#Pg0   В старых версиях при написанни ссылок такого радо в некоторых случаях можно было не писать имя файла, а достаточно было вместо имени файла модели оставить ПРОБЕЛ.SLDPRT и имя после этого подставлялось само. Пробовать надо.   Так же можете глянуть макрос по изменению свойств файла (методы и функции там устаревшие, но возможно даже будет работать и можно поковыряться в коде): https://kelnyproject.ucoz.ru/load/6-1-0-8 по програмированию так же есть справка (версию в ссылке поменяйте на свою, что бы справка была актуальна для вашей версии): https://help.solidworks.com/SearchEx.aspx?query=get custom property&version=2010&lang=english,enu&prod=api
    • gudstartup
      только перед обновлением обязательно выполните  все что написано в руководстве и касается сохранения состояния станка и чпу. и обязательно сделайте образ диска и помните что слишком новые версии могут не заработать на вашем чпу относительно безопасно ставить только сервиспаки
    • NordCom
      Большое спасибо! Через это меню удалось зайти в меню. 95148->MOD
    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
    • Bot
      Коллеги, Благодарю вас за интерес к проекту электронной энциклопедии в области инженерного программного обеспечения PLMpedia, который более 15 лет развивался группой компаний ЛЕДАС. Представленный ниже скриншот передаёт содержание и структуру базы данных энциклопедии, накопленной за эти годы: именно такую начальную страницу, можно было до сегодняшнего дня увидеть, придя по адресу https://plmpedia.ru/ В последние несколько лет ЛЕДАС особенно интенсивно и результативно вкладывает все ресурсы в развитие своего основного бизнеса: см. ниже «О компании ЛЕДАС». Сегодня я с некоторым сожалением констатирую, что у компании ЛЕДАС более нет возможности отвлекать ресурсы своих сотрудников на некоммерческий (фактически волонтерский) проект PLMpedia. Вся база данных ресурса может быть безвозмездно передана любому юридическому или физическому лицу с единственным условием: наш преемник должен будет публично объявить о состоявшейся передаче и взятии на себя [...] View the full article
    • gudstartup
      @NordCom  у вас наверное это так происходит читайте этот раздел itnc_530.pdf
    • fenics555
      интересный индус. А нового то чего?
    • gudstartup
      откудова качаете мне интересно?
    • ДОБРЯК
      Совсем забыл про собственные вектора       собственный тон частота           0.013                        1   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00       собственный тон частота       15910.75                         2   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2  -7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00        
×
×
  • Создать...