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

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

21.08.2024 в 09:53, Sturmann сказал:

Здравствуйте коллеги. 

Возникла потребность повернуть деталь перпендикулярно выделенной грани (ctrl +8). 

Есть такая возможность сделать этот программно? 

 

У Вас при выделении грани прямо под мышкой эта команда.

Фигнёй страдаете...

 

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


15 часов назад, Snake 60 сказал:

Что нужно добавить в код, что бы решить проблему?

Похоже, что эту проблему может решить только разработчик :( https://www.cadforum.net/viewtopic.php?p=37344

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

Всем привет. Пытаюсь научиться наладить взаимодействие с графическими телами. Но информации как то мало. Можете подсказать как добраться до объектов графики?

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swFeat = swModel.FirstFeature ' 1 папка всего проекта
Do While Not swFeat Is Nothing
 Debug.Print swFeat.GetTypeName
      Debug.Print swFeat.name
        If swFeat.GetTypeName = "MeshBodyFeatureFolder" Then
			 		 Set MeshFolder = swFeat.GetSpecificFeature2 '' вот это НЕ работает
                    vBodies = MeshFolder.GetBodies 'и вот это тоже 
					set Meshbody=vBodies(0) <== вот сюда хочу залезть и поизучать фацеты  а в частности их количество 

		end if
        Set swFeat = swFeat.GetNextFeature
Loop

если кто то знает в каком направлении копать эту тему , то прошу оказать помощь с наративами . С хелпом я пытался по API поработать, но либо я чего-то не понимаю до конца , либо это все мой ужасный английский

Прикрепляю файл STL для вашего удобства

Сборка.STL

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
12.10.2024 в 13:31, Павлуха сказал:

 

У Вас при выделении грани прямо под мышкой эта команда.

Фигнёй страдаете...

 

Коллега, читайте внимательно -мне нужно программно. Чтобы программа обработала всё детали сборки. Вручную любой может  . Тема неактуальна коллеги подсказали метод из библиотеки. 

13.10.2024 в 18:48, Sla_68 сказал:

Всем привет. Пытаюсь научиться наладить взаимодействие с графическими телами. Но информации как то мало. Можете подсказать как добраться до объектов графики?


Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swFeat = swModel.FirstFeature ' 1 папка всего проекта
Do While Not swFeat Is Nothing
 Debug.Print swFeat.GetTypeName
      Debug.Print swFeat.name
        If swFeat.GetTypeName = "MeshBodyFeatureFolder" Then
			 		 Set MeshFolder = swFeat.GetSpecificFeature2 '' вот это НЕ работает
                    vBodies = MeshFolder.GetBodies 'и вот это тоже 
					set Meshbody=vBodies(0) <== вот сюда хочу залезть и поизучать фацеты  а в частности их количество 

		end if
        Set swFeat = swFeat.GetNextFeature
Loop

если кто то знает в каком направлении копать эту тему , то прошу оказать помощь с наративами . С хелпом я пытался по API поработать, но либо я чего-то не понимаю до конца , либо это все мой ужасный английский

Прикрепляю файл STL для вашего удобства

Сборка.STL 11 \u041a\u0431 · 0 скачиваний

Вероятно нужно взять объект  meshbody и расчленить его методом работы с телами. 

Ссылка на сообщение
Поделиться на других сайтах
13.10.2024 в 18:48, Sla_68 сказал:

как добраться до объектов

Может так попробовать?

Скрытый текст

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swPartDoc As SldWorks.ModelDoc2
Dim swFeature As SldWorks.Feature
Dim swSubFeature As SldWorks.Feature
Dim featureName As String
Dim subFeatureName As String
Dim message As String
Sub main()
Set swApp = Application.SldWorks
Set swPartDoc = swApp.ActiveDoc
Set swFeature = swPartDoc.FirstFeature
While Not swFeature Is Nothing
    featureName = swFeature.Name
    Debug.Print swFeature.Name
    Debug.Print swFeature.GetTypeName
    Set swSubFeature = swFeature.GetFirstSubFeature
    While Not swSubFeature Is Nothing
        subFeatureName = swSubFeature.Name
        Debug.Print swSubFeature.Name
        Debug.Print swSubFeature.GetTypeName
        
        swSubFeature.GetBody
                
        Set swSubFeature = swSubFeature.GetNextSubFeature
    Wend
    Set swFeature = swFeature.GetNextFeature()
Wend

End Sub

 

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

Добрый день!
Второй десяток лет на разных версиях Солида пользуюсь макросом "Обозначение_Наименование" из имени файла. (Спасибо автору).
Но иногда нужно выполнять этот же макрос, но с некоторой поправкой, что-бы в полученом "Обозначении" автоматом убрать буквы или цифры до ПЕРВОЙ ТОЧКИ, а в "Наименовании" все осталось по-прежнему.
Как пример:
Предположим есть     ААА.С04.11.ТИ.00.-01_Проба.
или                          К8.С04.11.ТИ.00.-01_Проба.
Должно получится     С04.11.ТИ.00.-01_Проба.
Обращаюсь с просьбой откорректировать макрос.
Макрос прилагаю.
Спасибо.
SW23 sp5/Win10

Обозначение_Наименование.swp

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

Как пример:
Предположим есть     ААА.С04.11.ТИ.00.-01_Проба.
или                          К8.С04.11.ТИ.00.-01_Проба.
Должно получится     С04.11.ТИ.00.-01_Проба.
Обращаюсь с просьбой откорректировать макрос.

Как вариант заменить:

Цитата

sValue = Mid(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") + 1)
sValue = Left(sValue, InStrRev(sValue, ".") - 1)

На:

Цитата

sValue = swModel.GetPathName 'Путь файла сразу в переменную
sValue = Mid(sValue, InStrRev(sValue, "\") + 1)  'Поиск справа и оставляет правее символа в кавычках
sValue = Left(sValue, InStrRev(sValue, ".") - 1) 'Поиск справа и оставляет левее символа в кавычках
sValue = Mid(sValue, InStr(sValue, ".") + 1)  'Поиск слева и оставляет правее символа в кавычках

 

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

Как вариант заменить:

На:

 

Kelny, спасибо огромное! Все просто великолепно. Не раз убеждался в вашем профессиональном и человеческом отношении к участникам. Спасибо, успехов.

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • bubl leg
      Всем добрейшего! :-) Вопрос такой друзья: для одного самодельного проекта делаю конвейер металлический, из 380х40х2 мм алюминиевых пластин. Пластины будут присобачены к резиновой ленте :-)   Суть вопроса вот в чём: есть 2 варианта, как понять, какого диаметра должны быть шкивы на концах конвейера, чтобы он был заданной длины: 1 вариант - расчитать; 2 - вариант - прикинуть "наживую" нарисовав овальный лежачий путь и по нему пустив 40 мм отрезки - чтобы глянуть, сколько таких отрезков (то бишь пластин) влезет в этот овал. И вот этот второй путь мне видится приятней.   Начал реализовывать в солиде и осознал - что никогда не делал такого - не пускал отрезки не вкруговую, вокруг некоего центра - а чтобы они шли  по пути (овальному, как у меня) :-)   Итак, сам вопрос - как такое провернуть? ;-) Заранее всем спасибо! Отрезки прямые - гнуть их не надо. Надо только расположить по овалу, чтобы играяясь диаметром шкивов, наживую понять - сколько надо пластин. Картинку приложил.  
    • Бестолковый
      @Kelny Спасибо, указанные Вами методы мне известны, но не всегда срабатывают (уж не знаю почему). 1. Галочку "больше не спрашивать" не ставил, окошко "найти деталь" каждый раз высвечивается, но никаких галочек в нём почему-то нет ((( 2. За "нажать кнопку "ссылки" - спасибо, если ещё раз потеряю связь - непременно воспользуюсь.   @The_22nik, Спасибо, деятельность Брагина мониторю ещё со времён dwg.ru, но хотелось бы обойтись без "довесок" и использовать функции самого SW.
    • Maik812
      Во первых дохера тем тут таких и решения описывались. Вы не единственный кому нужно было постоянно менять однотипные размеры для разных клиентов одного товара. Я делал подобное и сложней была задача. я назвал это программируемой моделью. Там задаются основные размеры габариты изделия остальное само строится со всеми нужными размерами. Нужно было выдавать чертежи быстро и виды все под разные размеры, и исполнения всегда тут нужны так как чем больше было иссполнений тем меньше ошибок и каких то правок на чертеже делать приходилось. Есть там задача условно от 10 до 25см габарит и там чертеж так размещен , а если от 30 до 100  то другое размещение. Вот + такой схемы был. Второй вариант Драйв воркс не рассматривал, геморно ему объяснять все это было.  
    • Горыныч
      Вот за что я люблю и местную тусовку, так это за чувство юмора :) Сергей, так у вас в Пушкино за сопоставимы, при гораздо бОльших расходах...
    • lem_on
      Я вообще сварщик .... Я варить люблю .... Спокойно, не торопливо класть красивые колбаски. Я понимаю, пайка тоже один из способов неразьемного соединения, но не да такой же степени   
    • mircomax81
      Да. Хорошо. Будем пытаться. USB точно нет. 
    • gudstartup
    • gudstartup
      @lem_on терпение  и труд Симона нагнут заставят работать как пряник и кнут! пусть помнит Симон  про свой dead lock а также кто вспомнить ему все помог!
    • mircomax81
      Кроме видосов пока не густо. Не получается сконнектиться со станочным ПК. Соответственно нет образа жёсткого диска. 
    • dommast
      Kelny, спасибо огромное! Все просто великолепно. Не раз убеждался в вашем профессиональном и человеческом отношении к участникам. Спасибо, успехов.
×
×
  • Создать...