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

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

 

@@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 пользователей

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



  • Сообщения

    • Mr_Gray
      Если и расфрезеровывать, то обязательно с коррекцией радиуса инструмента G41, чтобы попасть в середину поля допуска. Но лучше все же разверткой или расточной головкой.
    • lem_on
      При хорошей геометрии станка, можно и расфрезеровать. Если неглубокие отверстия, можно и тс сверлом сразу размер получить.
    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
×
×
  • Создать...