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

Макрос сохранения развертки в DWG


Vladimir_k55

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

2 часа назад, krypton сказал:

Макрос dxf с окном предосмотра для текущего исполнения.

Работает норм. Для солида с инглишфейсом в макросе нужно менять "Развертка" на "Flat-Pattern"

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


2 часа назад, Kir95 сказал:

Работает норм. Для солида с инглишфейсом в макросе нужно менять "Развертка" на "Flat-Pattern"

Скинь, пожалуйста, ссылки на макросы для пакетных сохранений разверток и деталей без разверток в dxf. У меня имеются файлы и с развертками, и просто детали, с тысячами исполнений, Мне надо чтобы каждое из исполнений сохранилось в отдельный файл с именем исполнения. Я раньше находил, работало все, но вот сегодня парочку скачал - ни одно не заработало. SW2016

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

ссылки на макросы для пакетных сохранений разверток и деталей без разверток в dxf

Посмотри этот, сохраняет деталь в двг (для дхв поменяй в коде dwg на dxf). Чуть выше макрос для сохранения развёрток

 

 

 

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

Посмотри этот, сохраняет деталь в двг (для дхв поменяй в коде dwg на dxf). Чуть выше макрос для сохранения развёрток

 

 

 

Вот этот как раз  и пробовал. При запуске - молчание

Ссылка на сообщение
Поделиться на других сайтах
25.02.2021 в 16:00, Kir95 сказал:

Сохраняет норм. Запусти солид от админа. Двг сохраняются в папку с деталью, проверь права доступа на папку.

Чтоб не перестраивалось, закомментируй строчку bRebuild = swModel.ForceRebuild3(False)

Если нужен текущий вид, замени Front на Current - dataViews(0) = "*Front" '"*Current" *Front

 

Тоже самое. Перебирает все конфигурации, открывает на доли секунд чертежи и все. Ничего не сохраняет

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

Перебирает все конфигурации, открывает на доли секунд чертежи и все. Ничего не сохраняет

Если солид в русском интерфейсе, попробуй заменить в макросе "Front" на "Спереди" или сделать деталь в английском интерфейсе и шаблон возьми английский для проверки, может тоже макрос зависит от языка

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

Если солид в русском интерфейсе, попробуй заменить в макросе "Front" на "Спереди" или сделать деталь в английском интерфейсе и шаблон возьми английский для проверки, может тоже макрос зависит от языка

Спасибо! Помогло

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

Если солид в русском интерфейсе, попробуй заменить в макросе "Front" на "Спереди" или сделать деталь в английском интерфейсе и шаблон возьми английский для проверки, может тоже макрос зависит от языка

А не знаешь, как убрать надпись вида на созданном файле, у меня, например, прибавляется слово "Спереди"?

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

Товарищи, такое дело, пользуюсь Макросом "Export Flat Pattern View" для сохранения развертки в DXF, но со временем (через 1000 деталей) макрос начинает сохранять не в масштабе, при этом CypCut и Автокад открывает эти файлы нормально. Что делать?

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

как убрать надпись вида на созданном файле, у меня, например, прибавляется слово "Спереди"

Чуть переделал макрос, он сначала поворачивает модель на вид спереди, затем сохраняет этот вид и название вида к названию файла не добавляется. От языка интерфейса солида макрос теперь не зависит - вид цифрой обозначен

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

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim sModelName As String
Dim sPathName As String
Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim varViews As Variant
Dim dataViews(0) As String
Dim vConfNameArr As Variant
Dim sConfigName As String
Dim i As Long
Dim bShowConfig As Boolean
Dim bRebuild As Boolean
Dim bRet As Boolean
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    sModelName = swModel.GetPathName
    vConfNameArr = swModel.GetConfigurationNames
    
    ' Named View
swModel.ShowNamedView2 "", 1
swModel.ViewZoomtofit2
    
For i = 0 To UBound(vConfNameArr)
    sConfigName = vConfNameArr(i)
    bShowConfig = swModel.ShowConfiguration2(sConfigName)
    bRebuild = swModel.ForceRebuild3(False)
    sPathName = swModel.GetPathName
    sPathName = Left(sPathName, Len(sPathName) - 7)
    sPathName = sPathName + "-" + sConfigName + ".dwg"
    Set swPart = swModel
    dataAlignment(0) = 0#
    dataAlignment(1) = 0#
    dataAlignment(2) = 0#
    dataAlignment(3) = 0#
    dataAlignment(4) = 0#
    dataAlignment(5) = 0#
    dataAlignment(6) = 0#
    dataAlignment(7) = 0#
    dataAlignment(8) = 0#
    dataAlignment(9) = 0#
    dataAlignment(10) = 0#
    dataAlignment(11) = 0#
    varAlignment = dataAlignment
    dataViews(0) = "" '"*Current" *Front
    varViews = dataViews
    swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
Next i
End Sub

 

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

Чуть переделал макрос, он сначала поворачивает модель на вид спереди, затем сохраняет этот вид и название вида к названию файла не добавляется. От языка интерфейса солида макрос теперь не зависит - вид цифрой обозначен

  Скрыть содержимое

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim sModelName As String
Dim sPathName As String
Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim varViews As Variant
Dim dataViews(0) As String
Dim vConfNameArr As Variant
Dim sConfigName As String
Dim i As Long
Dim bShowConfig As Boolean
Dim bRebuild As Boolean
Dim bRet As Boolean
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    sModelName = swModel.GetPathName
    vConfNameArr = swModel.GetConfigurationNames
    
    ' Named View
swModel.ShowNamedView2 "", 1
swModel.ViewZoomtofit2
    
For i = 0 To UBound(vConfNameArr)
    sConfigName = vConfNameArr(i)
    bShowConfig = swModel.ShowConfiguration2(sConfigName)
    bRebuild = swModel.ForceRebuild3(False)
    sPathName = swModel.GetPathName
    sPathName = Left(sPathName, Len(sPathName) - 7)
    sPathName = sPathName + "-" + sConfigName + ".dwg"
    Set swPart = swModel
    dataAlignment(0) = 0#
    dataAlignment(1) = 0#
    dataAlignment(2) = 0#
    dataAlignment(3) = 0#
    dataAlignment(4) = 0#
    dataAlignment(5) = 0#
    dataAlignment(6) = 0#
    dataAlignment(7) = 0#
    dataAlignment(8) = 0#
    dataAlignment(9) = 0#
    dataAlignment(10) = 0#
    dataAlignment(11) = 0#
    varAlignment = dataAlignment
    dataViews(0) = "" '"*Current" *Front
    varViews = dataViews
    swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
Next i
End Sub

 

Спасибо! Протестирую!

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

Исправленная версия для английского и русского интерфейса

Наверное, чтоб совсем уж для любого интерфейса (или переименует кто фичерс), проверку наличия развёртки по типу можно делать GetTypeName = "FlatPattern" как в примере из справки 2012 SOLIDWORKS API Help - Exclude Faces Before Flattening Example (VBA)

 

Ссылка на сообщение
Поделиться на других сайтах
Вадим Митрофанович

Уважаемые форумчане. Перепробовал 10 макросов для ДХФ. Выяснилось, что одни работают только для развертки, а другие для платиков! Если в детали не указано, что это,типа развертка, то макрос не работает! Есть ли макрос ДХФ, что бы работал на любую деталь, например для детали для лазера и для гибочной детали.

Вот макросы, что пробовал. И те, что остались для работы

Снимок.JPG

Изменено пользователем Вадим Митрофанович
Ссылка на сообщение
Поделиться на других сайтах
22.03.2021 в 12:41, Вадим Митрофанович сказал:

Уважаемые форумчане. Перепробовал 10 макросов для ДХФ. Выяснилось, что одни работают только для развертки, а другие для платиков! Если в детали не указано, что это,типа развертка, то макрос не работает! Есть ли макрос ДХФ, что бы работал на любую деталь, например для детали для лазера и для гибочной детали.

Вот макросы, что пробовал. И те, что остались для работы

Снимок.JPG

Макрос не всемогущий. Он призван программными функциями сделать за один клик то, что иначе пришлось бы каждый раз настраивать по несколько минут щёлкая мышью. Поэтому, если деталь изначально прорисована, как "неразворачиваемая", а соответственно и нет конфигурации с развёрткой, то макрос тоже ее не сделает. Разве что использовать макрос, который сначала создаст из твердого тела согнутое, но врядли такой вообще существует. Мне не встречался. 

Ссылка на сообщение
Поделиться на других сайтах
22.03.2021 в 12:41, Вадим Митрофанович сказал:

Уважаемые форумчане. Перепробовал 10 макросов для ДХФ. Выяснилось, что одни работают только для развертки, а другие для платиков! Если в детали не указано, что это,типа развертка, то макрос не работает! Есть ли макрос ДХФ, что бы работал на любую деталь, например для детали для лазера и для гибочной детали.

Вот макросы, что пробовал. И те, что остались для работы

Снимок.JPG

Добрый день, попробуйте этот:
 

Sub main()

    Dim swApp            As SldWorks.SldWorks
    Dim Part             As Object
    Dim boolstatus       As Boolean

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Save

    Dim swModel          As SldWorks.ModelDoc2
    Dim vConfNameArr     As Variant
    Dim sConfigName      As String
    Dim nStart           As Single
    Dim i                As Long
    Dim bShowConfig      As Boolean
    Dim bRebuild         As Boolean
    Dim bRet             As Boolean
    Dim CurFeature       As SldWorks.Feature

Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
vConfNameArr = swModel.GetConfigurationNames

    For i = 0 To UBound(vConfNameArr)
sConfigName = vConfNameArr(i)
bShowConfig = swModel.ShowConfiguration2(sConfigName)
bRebuild = swModel.ForceRebuild3(False)

    Dim FilePath         As String
    Dim PathSize         As Long
    Dim PathNoExtension  As String
    Dim NewFilePath      As String

FilePath = swModel.GetPathName
PathSize = Strings.Len(FilePath)
PathNoExtension = Strings.Left(FilePath, PathSize - 6)
NewFilePath = PathNoExtension + sConfigName & ".DXF"
'Export Flat Pattern
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
Next i

swApp.CloseDoc ""

End Sub

 

Ссылка на сообщение
Поделиться на других сайтах
Вадим Митрофанович
23 часа назад, mrNicetone сказал:

Добрый день, попробуйте этот:
 


Sub main()

    Dim swApp            As SldWorks.SldWorks
    Dim Part             As Object
    Dim boolstatus       As Boolean

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Save

    Dim swModel          As SldWorks.ModelDoc2
    Dim vConfNameArr     As Variant
    Dim sConfigName      As String
    Dim nStart           As Single
    Dim i                As Long
    Dim bShowConfig      As Boolean
    Dim bRebuild         As Boolean
    Dim bRet             As Boolean
    Dim CurFeature       As SldWorks.Feature

Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
vConfNameArr = swModel.GetConfigurationNames

    For i = 0 To UBound(vConfNameArr)
sConfigName = vConfNameArr(i)
bShowConfig = swModel.ShowConfiguration2(sConfigName)
bRebuild = swModel.ForceRebuild3(False)

    Dim FilePath         As String
    Dim PathSize         As Long
    Dim PathNoExtension  As String
    Dim NewFilePath      As String

FilePath = swModel.GetPathName
PathSize = Strings.Len(FilePath)
PathNoExtension = Strings.Left(FilePath, PathSize - 6)
NewFilePath = PathNoExtension + sConfigName & ".DXF"
'Export Flat Pattern
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
Next i

swApp.CloseDoc ""

End Sub

А готовый макрос ДХФ и для гибочной детали и для просто платика, у вас есть?

Я в этом не понимаю.

 

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

to dxf.swp (dropmefiles.com)

22 минуты назад, Вадим Митрофанович сказал:

Доступ на скачку закрыт

to dxf.swp теперь скачивание доступно

Ссылка на сообщение
Поделиться на других сайтах
31.03.2021 в 13:40, mrNicetone сказал:

важный момент забыл сказать.
в нелистовой детали макрос сохраняет в dxf вид параллельный базовой плоскости "спереди" вне зависимости как расположена деталь.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • AlexArt
      Ну допустим, ты и на другом ресурсе это опубликовал. А не коммуниздил. Но вот продвигать воровство от государства, ворующее из Вики, это верх мерзости.
    • maxx2000
      Ах, да. Фильтры выбора добавили. Теперь можно выбрать только то что видно на первом плане, а не вместе с тем что с обратной стороны детали. В общем надо обновляться. Как раз работёнка на прессформу нарисовалась 
    • maxx2000
      Причина того - Кроилово. Кроилово всегда приводит к попадалову. Месяц простоял сколько мильонов деревянных потеряли? Вопрос риторический. И ещё будет стоять. Как памятник человеческой глупости и жадности.
    • AlexKaz
      "9 июля 1968 года на мышах был проведен самый знаменитый эксперимент американского ученого-этолога Джона Кэлхуна «Вселенная-25». Суть опыта заключалась в создании идеальных условий, где мыши могли бы жить и размножаться, не ведая никаких забот, вдали от хищников и в отсутствие эпидемий и заболеваний. Для этих целей ученый построил специальный загон, куда были помещены четыре пары белых мышей (самцов и самок). В распоряжении мышей всегда была чистая вода и еда в изобилии, специальные гнезда, где можно обустроить себе жилище ― гнезд в загоне хватало для проживания нескольких тысяч мышей. Температура в загоне в среднем составляла около 20 ℃ и была комфортной для мышей. Животные не подвергались никаким влияниям извне и жили в идеальных условиях в свое удовольствие. А дальше началось самое интересное. На первом этапе эксперимента мыши хорошо размножались, вели активный образ жизни, охотно играли. На следующей фазе эксперимента мыши стали есть меньше, перестали наедаться до отвала. На третьей фазе эксперимента, когда в загоне были уже сотни мышей, произошло распределение социальных ролей, стала ярко выраженной иерархия, клановость. Появились так называемые отверженные ― молодые особи, которых другие, взрослые мыши сгоняли в центр загона, не давали им вести нормальный образ жизни, причиняли физический вред. В природе такое, наверное, было бы невозможно, ведь эти мыши-агрессоры просто не дожили бы до старости: их бы съели хищники. Но в загоне Кэлхуна хищников не было, и взрослые мыши начали попросту издеваться над молодняком. Образовались две большие группировки: самцы-одиночки и самки-одиночки. При этом самки-одиночки отказывались спариваться <с менее статусными многочисленными молодыми самцами и с оставшимися старыми статусными> и отвергали ухаживания самцов. У мышей стал проявляться тотальный индивидуализм, мыши не стремились создать семью. На последней, четвертой стадии мышиная популяция стала сокращаться. Появились самцы, которых сам Кэлхун назвал «красивыми» (англ. beautiful ones), из-за отсутствия ран и рубцов. <В оригинале: They never engaged in sexual approaches toward females, and they never engaged in fighting, and so they had no wound or scar tissue. Thus their pelage remained in excellent condition. - Дословный перевод: Они никогда не прибегали к сексуальным подходам к самкам, и они никогда не участвовали в боях, и поэтому у них не было ран или рубцовой ткани. Таким образом, их шерсть сохранилась в отличном состоянии.> Эти мыши не вступали в борьбу за самок и территорию, не проявляли активности к размножению и только питались, спали и чистили шёрстку. У мышей стали проявляться различные формы девиантного поведения, вспышки агрессии. Самки стали проявлять агрессию, защищать себя сами, стали умерщвлять своих детенышей, а затем окончательно отказались размножаться. На пике эксперимента в загоне одновременно проживало чуть более двух тыс. мышей. Еды и гнезд было достаточно для дальнейшего роста популяции, но через четыре года после начала эксперимента Кэлхун остановил свой опыт, потому что в загоне осталось чуть более сотни мышей, и все они уже вышли из репродуктивного возраста. По итогам эксперимента Кэлхун пришел к выводу, что достижение определенной плотности населения и заполнение социальных ролей в популяции приводит к распаду общества" https://physicsoflife.pl/dict/pic/calhoun/calhoun.. https://scientificrussia.ru/articles/utopiya-dlya-mys.. https://ru.wikipedia.org/wiki/Кэлхун,_Джон_(этолог)
    • gudstartup
      @Koels вот в чем дело пока ds609 это предупреждение поэтому F может и не появится если sv601 это значит ошибка. возможно при нагреве радиатора серво определяет это как предупреждение или ваш вентилятор крутиться медленнее чем оригинальный и серва думает что он встал хотяпри этом обычно на экране в строке состояния FAN.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
    • Fedor
      https://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms     :) 
    • Юрий К.Ф.
      Добрый день. Не нашёл тут тему по стойке Китайско Китайской)) Lynuc N3ME. Видать мне так повезло с её наличием)) Приобрели 5-ти осевой Китаец. В б/у состоянии после удара по оси Z. Отремонтировали по механике, заменили батареи на драйверах, выставили лимиты. Всё Ок. Пригласили со стороны людей которые бы разобрались по операторской части. Те два выходных ковырялись, после сказали покажут расскажут, но за огромные деньги. Не сошлись. После месяц станок простоял, когда включили перестал реагировать на регулировку скорости шпинделя. То есть в режиме Jog, включаем обороты, которые стандартно 2140-2149 об/мин. При регулировке процетности не меняются (сама процентность показывает на мониторе). Так же при включении оборотов через команду M03S300 или другое значение, скорость так же показывает 2140-2149 об/мин. Грешить на тех товарищей с которыми не сошлись по деньгам для обучения, как то не хочется. Поковырялся в настройках шпинделя, вроде всё в норме. Проводку на шпинделе прозвонил, целая. В чём причина, не понятна. Кто нибудь сталкивался с подобным, или с подобной стойкой? Может подсказать варианты причины подобного?
    • ДОБРЯК
    • Fedor
      https://en.wikipedia.org/wiki/Eigenvalue_algorithm   Вот , кстати, важное свойство которое раньше встречал у Стренга. :)    http://elibrary.bsu.edu.az/files/kitablar/1022.pdf   
×
×
  • Создать...