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

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

 

@@Shvg, а можно чуть подробнее на этом месте "Включить ваш цикл в цикл активации каждой конфигурации" ?

Я, к сожалению, не внимательно посмотрел код и ошибся с конфигурациями. Если и сейчас правильно понял проблему, то вот небольшой код:

Sub main()
    On Error GoTo LineError
    Set swApp = Application.SldWorks
    Dim swModel As ModelDoc2
    Set swModel = swApp.ActiveDoc
    
    If swModel Is Nothing Then Exit Sub
    
    Dim typeDoc As Integer
    typeDoc = swModel.GetType()
    
    If typeDoc <> swDocPART Then Exit Sub
    
    Dim swPart As PartDoc
    Set swPart = swModel
    
    Dim arrNamesConfig As Variant
    arrNamesConfig = swModel.GetConfigurationNames()
        
    Dim swFeature As SldWorks.Feature
    Set swFeature = swPart.FirstFeature
    
    Dim strSearch As String
    strSearch = "Flat-Pattern"
    
    While Not swFeature Is Nothing
        Dim nameTypeFeature As String
        nameTypeFeature = swFeature.GetTypeName2()
        
        Dim swSubFeature As SldWorks.Feature
        Set swSubFeature = swFeature.GetFirstSubFeature()
        
        If nameTypeFeature = "FlatPattern" Then
            While Not swSubFeature Is Nothing
                Dim nameTypeSubFeature As String
                nameTypeSubFeature = swSubFeature.GetTypeName2()
                
                Dim nameSubFeature As String
                nameSubFeature = swSubFeature.Name()
                
                If nameTypeSubFeature = "UiBend" Then
                    
                    Dim bres As Boolean
                    bres = swSubFeature.SetSuppression2(swUnSuppressFeature, swAllConfiguration, arrNamesConfig)
                
                End If
                
                Set swSubFeature = swSubFeature.GetNextSubFeature()
            Wend
        End If
        Set swFeature = swFeature.GetNextFeature()
    Wend
    
    swModel.EditRebuild3
    Exit Sub
    
LineError:
End Sub

 

P.S. Nazarrr, указывайте версию SW.

 

 

Салют!

Столкнулся с такой проблемой при высвечивание SubFeatures. При запуске макроса на некоторых документах он стал высвечивать элементы листового металла которые не являются SubFeatures. В прилагаемом файле высвечивается ребро-кромка 2 и 3. SW 2013 SP 05

Flatten.rar

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


Библиотеки 2012-солида: SolidWorks.Interop.swconst.dll и т.д. под какую версию вижуал студио подойдут? Под 2008 например, или хотя-бы 2010 подойдут?

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

Вот интересно что получается. Что библиотеки с расширением tdb от солидворкс 2012 на закладке COM видны, а вот на закладке .NET библтотеки с расширением dll, что именно нужны--не видны. Это Microsoft Visual studio express sharp 2008. И почему так, ведь внести эти библиотеки невозможно.

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

под любую

внести эти библиотеки невозможно
 

возможно, и я вам уже объяснял как. И ссылки давал, и видео показывал.

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

Вот интересно что получается. Что библиотеки с расширением tdb от солидворкс 2012 на закладке COM видны, а вот на закладке .NET библтотеки с расширением dll, что именно нужны--не видны. Это Microsoft Visual studio express sharp 2008. И почему так, ведь внести эти библиотеки невозможно.

Это возможно.

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

Add reference-но там как и в экспресе они есть в списке а искать файлы чтобы добавить референс невозможно. 2.Хотел бы знать. Макрос в языке vbа, в котором он сохраняется по умолчанию-можно ли использовать для создание .ехе в вижуал студио бейсик--если такой есть ибо экспрес версия есть. Хотя некоторые простые детали после записи макроса-даже не дает возможности прокрутить этот код. Например даже цилиндрическая деталь с ответствием не дает при автоматическом запуске кода увидеть это ответствие. Потому хочеться знать в чем проблема. Можно ли это исправить: там команда пропущена, связь при построение утрачена или координаты. Как вообще делать такую отладку и в каких аспектах возникают такие неполадки. Ибо мне например надо сборку. Тогда несостыковки вообще будут гигантскими? И третий вопрос: если этот макрос сохранять в формате vbproj i csproj-качество его будет еще хуже? https://forum.solidworks.com/thread/61105-там пример как создавать .ехе с кода для вб.нет, а как это делать в случае csprоj?

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

Нет вы б лутше обьяснили нежели отговаривали. Дело несколько упростилось: какие то сверх мощный кострукции в коде делать не надо: или сборку или несколько сложнее деталь. Вопрос в том что создается простой плоский цилиндрический диск с соответств. цилиндр. отверствием в центре и макрос не работает. Возникает вопрос зачем тогда этот макрос? Это наверное самый простой пример из двох реальных 3д-действий. Ну в чем же причина есть. Хотя это и на портаб. и на стацион. версии, старой и новой? Там очень то странно написано. createcircle 1, 2, #4 то есть параметры без скобок. Так должно быть? В общем в этом примере проблема в том что ответствие не строится. И при запуске макроса как то эскиз отверствие какой то перекошеный : и смещен из центра и вроде бы не на плоскости фронтальных граней диска?

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

 

уже, и не раз  :smile:

 

 

В общем в этом примере проблема

 

в хелпе по API мной ни разу не было замечено ошибок.

 

 

 

как то эскиз отверствие какой то перекошеный

 

какие точки задали, так и нарисует.

Выложите макрос (ну или программу, что там у вас...) - вместо тысячи слов)))

 

Есть пару вопросов:

- У вас родной язык какой? (на каком языке говорите)

- Кроме программирования под Solidworks вы пробовали делать хоть какие-то программы?

- Какие именно книги вы читали по программированию?

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

Не знаю разочирую вас или нет, но русский не мой родной. Также скажу что програм в реальном понимание я не делал, но языков в базовом понимание знаю и книг прочитал много. Эта програма мне для учебных целей и хорошо что одна. Мне вот сказали что там важно очистить код от всей лишней мишуры, не оставлять там код что отвечает за какие там отмены действий или выбор какого то лишнего вида. А этот макрос обязательно вынесу сюда, а то точки не обирал-там одна точка с координатами (0.0). По вашему взять код с хелпа и связать детали по построеным ему же шаблонам это реальный вариант? Ну а как насчет конвертера кода-нашел одно решение онлайн-или в хелпе весь код примеров дублируется и шарпом и вб.нетом, и там не имеет значение версия-код с хелпа под 2012/13/14 можно смело применять под 2006/7 версии? Ибо что то онлайн версия новейших версии более понятна нежели десктопныи апи-хелп?

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

Повторюсь:

 

 

- У вас родной язык какой? (на каком языке говорите)

это может (иногда) упростить ситуацию в понимании.

И:

 

 

Выложите макрос (ну или программу, что там у вас...) - вместо тысячи слов)))

 

И не надо ничего пока автоматом конвертировать туда-сюда. Может вы не по тому пути пошли.

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

Если не русский то что трудно догадатся какой. И имеет ли это значение что смысл слов непонятен?

Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()


Set swApp = Application.SldWorks


Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
boolstatus = Part.Extension.SelectByID2("Ñïåðåäè", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
Part.CreateCircle 0, 0, 0, 0.03795595463138, 0.01612107750473, 0
Part.ShowNamedView2 "*Òðèìåòðèÿ", 8
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Part.FeatureManager.FeatureExtrusion2 True, False, False, 0, 0, 0.012, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, 1, 1, 1, 0, 0, False
Part.SelectionManager.EnableContourSelection = 0
boolstatus = Part.Extension.SelectByID2("", "FACE", -0.01392131731524, 0.01069047059514, 0.01199999999994, False, 0, Nothing, 0)
Part.ClearSelection2 True
Part.CreateCircle 0, 0, 0, 0.0128139627821, 0.01312087106334, 0
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Part.FeatureManager.FeatureCut True, False, False, 0, 0, 0.012, 0.012, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, 0, 1, 1
Part.SelectionManager.EnableContourSelection = 0
End Sub



Вот--это макрос диска(цилиндра) с отверствием. Там эскиз отверствие сохраняется с другой стороны. И после запуска макроса при попытке сделать отверствие появляется меседж что плоскости не совпадают,
ибо тогда вырез идет в пустоту а не в само тело?

А макрос сборке вообще непонятен. Он должен помещать макросы детали1 детали2 и сборки. Ибо пытаясь записать макрос при уже созданных деталях, то кнопка записи неактивна. И лиш после вставки первой детали возможна запись макроса, после вставки другой который останавлюю, сохраняю и ничего не происходит (и там лиш одна ссылка на деталь вмакросе)?
 

' ******************************************************************************
' C:\DOCUME~1\BOSSBO~1.000\LOCALS~1\Temp\swx396\Macro1.swb - macro recorded on 01/23/14 by Boss
' ******************************************************************************
Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()


Set swApp = Application.SldWorks


Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.AddComponent "J:\Äåòàëü8.SLDPRT", 0, 6.315133932826E-05, 0.009999999999991
End Sub




Вот например переменная boolstatus которая отвечает за выбор граней то одна а выбрать подряд надо 2 грани?

Изменено пользователем streamdown
Научитесь скрывать большой текст, иначе это затрудняет просмотр страницы форума
Ссылка на сообщение
Поделиться на других сайтах

трудно догадатся какой.

 

Я ж не гугл-translate, автоматом язык определять.

 

смысл слов непонятен

 

Вообще нет, поэтому и попросил код показать.

 

Ваш макрос, рисующий "бублик"

 

Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()
 
 
Set swApp = Application.SldWorks
 
 
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
boolstatus = Part.Extension.SelectByID2("Nia?aae", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
'Part.ClearSelection2 True
Part.CreateCircle 0, 0, 0, 0.03795595463138, 0.01612107750473, 0
Part.ShowNamedView2 "*O?eiao?ey", 8
'Part.ClearSelection2 True
'boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Part.FeatureManager.FeatureExtrusion2 True, False, False, 0, 0, 0.012, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, 1, 1, 1, 0, 0, False
'Part.SelectionManager.EnableContourSelection = 0
boolstatus = Part.Extension.SelectByID2("", "FACE", -0.01392131731524, 0.01069047059514, 0.01199999999994, False, 0, Nothing, 0)
'Part.ClearSelection2 True
Part.CreateCircle 0, 0, 0, 0.0128139627821, 0.01312087106334, 0
'Part.ClearSelection2 True
'boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Part.FeatureManager.FeatureCut True, False, False, 0, 0, 0.012, 0.012, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, 0, 1, 1
'Part.SelectionManager.EnableContourSelection = 0
End Sub

С макросом сборки вам будет сложнее. Изучите код в справке http://help.solidworks.com/2012/english/api/sldworksapi/add_component_and_mate_example_vb.htm

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

Вы б для наглядности показали что изменяли, хотя это уже детали, главное чтобы он работал (я так вижу скобки нужны, но вряд ли дело в них), а я уже по аналогии что-то придумаю. Но там не бублик должен быть-а очень толстой "компакт диск". И вообще как насчет второго кода. Я вот то все время детали, а сборки--Solidworks api assembly--ничего конктретного не дает. Вот первый результат с официального форума:https://forum.solidworks.com/message/377584--там о Macro Feature идет речь. Но примеров вообше нету. Не могли бы вы на примере как вы горорите этого бублика построить сборку из двох этих бубликов, чтобы было понятно в чем дело.

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

 

Если вы написали это в текущем контексте - вы не понимаете что это. Скажу больше, вам это не нужно.

 

 

Вы б для наглядности показали

 

Кода не достаточно?  :smile: Сравнить свой и мой, делов то.

Хотите платные уроки? :laugh:  Чтоб всё наглядно.

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

Ну там какие то иероглифы получаются ибо на кирилице. Может вы это измените если это влияет на исполнение кода. И если этот код "бублика" работает что вам пришлось поменять: думаю вы мне очень поможете и не только мне.2. Ну в что там например в этой сборке. Надо добавить другие строки Add.Component касательно первой детали? Ибо на счет сборок я фактически не видел кода. И надо в этом стучае Макро-Фьюче?

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

@@stu, вы не хотите воспринимать никакую информацию. Тыкать пальцем в символы - это уже чересчур. Я вам надавал советов на ваши вопросы, которых (вопросы) вы сами не понимаете.

 

Нужна помощь по КОДУ - пишите, показывайте. Нужна помощь в разработке - пишите в личку что нужно, когда и за сколько. В остальном, я думаю найдутся ещё желающие вам помочь.

Успехов.

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

Да бублик получается но почему то в начале макроса. Хотя это вообще для и других характерном. Возникает вопрос .ехе в виж.студио вб.нет или в vsta можно создатЬ? Я бегло глянул и не увидел никаких изменений хотя теперь догадываюсь что вы уточнили плоскость второго эскиза. Хотел спростить такие элементы как zoomtofit namedview не есть обязательны ибо в одном коде много таких увидел. Но все таки интересует где найти пример сборки. У меня второй код-там что надо добавить addComponent b add.mate?

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

Я вот действительно код пересмотрел. И он одинаков кроме того что вы значок ' поставили перед словами Part и т.д. Вот после одного такого удаление отверствие не рисуется. Что этот значок значит и действительно ли в этом причина?

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

Я вот действительно код пересмотрел. И он одинаков кроме того что вы значок ' поставили перед словами Part и т.д. Вот после одного такого удаление отверствие не рисуется. Что этот значок значит и действительно ли в этом причина?

Значок ' говорит о там, что строка является комментарием, т.е не выполняется во время работы программы.

Базовое понимание у Вас какое-то совсем... базовое :sad:

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Cefius
      Добрый день! Интересует макрос сохраняющий тела из многотела в стп формат. У вас есть такой? Можете поделиться за вознаграждение?
    • Bellka
      станок был выкуплен и попал мне в руки, сейчас работает но тем кто его пытался ломать чинить точно спасибо не скажу
    • Девочка_конструктор
      Подскажите пожалуйста, как вы задаете тепловые трубки для расчета теплоотвода? Как отдельное тело (например, из меди), отдельно пористую среду и отдельно течение жидкости (в таком случае сложно задать конвекцию жидкости, тем более она у меня осуществляется без учета гравитации) / или как тепловую трубку? Тогда вопрос, как выбирать поверхности теплопоглощения и поверхности теплоотвода, если по сути это одни и те же поверхности, только в одном месте они поглощают тепло, в другом - отдают.  Считаю радиоэлектронный модуль, у меня микропроцессоры мощностью более 60 Вт нагреваются до 150 градусов. Хочу оценить влияние тепловой трубки, помогла бы она в этой ситуации отвести тепло должным образом или нет. Но гравитацию использовать не могу, конструкция не позволяет. Следовательно, нужно как-то разумно задать пористую среду для тепловой трубки, чтобы конденсат жидкости возвращался в зону нагрева. Помогите 
    • Ветерок
      Этот вариант хорош ещё тем, что сечение всегда будет ориентировано по нормали к цилиндру - не будет никаких перекосов на стенках. Но есть подозрение, что на цилиндре эта схема будет сложнее, чем на плоскости, поскольку края каждого "следующего" сечения наезжают на "предыдущее" (за счет изгиба стенки цилиндра). И точки касания двух стенок расположены не на диаметре шара, а на некой хорде, не проходящей через центр.
    • andrei4ik
      ну я же не новую деталь создаю... но щас гляну конечно но хз нет не хранит.... ошибка никуда и не ушла, и кажу более... если я добавляю какую сборку в главную сборку тот все детали в добавленной сборке становятся сокращенными
    • maxx2000
      можно и по линии сделать фрезой диаметром меньше чем паз
    • maxx2000
      зачем вообще считать то что априори не требует расчёта? Там чтобы что-то согнуть веса будут к тонне приближаться
    • persona1980_1
      Можно еще воспользоваться пользовательским анализом для создания дополнительных графиков и их уже учитывать при протягивании сечения как у вас на картинке (не по нормали к траектории). Там высота сечения будет меняться в зависимости от этого дополнительного графика.
    • maxx2000
      @filsan цилиндрическая. Я бы отдал модель, да Крео 11. Цилиндр, его пересекает поверхность, поверхность утолщаю с вычитанием материала. получаются два разорванных фрагмента, затем через всё вытянул цилиндр диаметром чуть меньше начального. Можно заморочиться построить поверхность с диркой, повлияет только на число фичеров в дереве
    • Kelny
      Рекомендовал бы удалить ветки реестра с настройками всех версий (возможно программа при запуске пытается стянуть настройки с другой версии в дополнении к основной), а потом поставить программу с нуля. Так же после настройки стоит сохранить настройки программы через Мастер настроек Solidworks, что бы при сбое можно было восстановить все ваши настройки, а не настраивать всё с нуля (это долго и нудно).   Это есть, но всё же первая настройка настройка, так понял, работает и надо просто добавить все кнопки сразу. А если вызвать настройку повторно, то все пользовательские кнопки остаются, но пусты, в них нет данных для запуска и они не отображаются на работающей панельки.   Как вариант загнать нужные кнопки во всплывающую панельку вызываемую клавишей "S" на клавиатуре.
×
×
  • Создать...