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

Макрос сохранения развертки в 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 эмодзи.

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

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

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

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

    • Leon



  • Сообщения

    • maxx2000
      @fenics555, я никогда не задавался таким вопросом, а можно ли отключить авторегенрацию компонентов или заморозить? Если прям опции нет, может через Тулкит или Апи?
    • fenics555
      штифты разрезные- понятно, что примонтаже изменяют размер по отверстию.  Резиновое кольцо уплотнительное- оно меняет не только диаметр наружный и внутренний, но и толщину. именно долго открываются сборки, содержащие эти изделия.  можно конечно и без нее обходиться, но мы уже привыкли. Только грузятся сборки очень долго, но это врятли из-за гибкости.
    • Viktor2004
    • UkulyAlex
      Добрый день. Работаю в t-flex 16. Имеется приспособление в котором более 150 позиций деталей, спецификация сделана по структуре изделия. Возникла необходимость изменения конструкции, некоторые детали из середины списка пришлось удалить. После обновления отчёта позиции сдвигаются, как сделать чтобы оставались на месте, т.е. был пропуск позиций в середине раздела "Детали"? 
    • статист
      Спасибо за цитату, полезная для меня   Я знал до этого способ использовать атрибуты LATT для задания направления, но они применялись только к построенным линиям. Если например рассматривать созданный элемент E, 1, 2, где для задания применяются только два узла, то тут уже никак не поменяешь положение третьего узла, так как его нет. Нужно тогда создавать отдельно направляющий узел  и задавать его через EMODIF,EID, 3, NID.   Но получается без создания узла, задать направление нельзя. В настране по крайней мере так можно. А в ансисе нужно плодить лишние узлы. Грустно)
    • FROST_R6
      Есть монорельса размером 12м. Хочу проверить перемещение при нагрузке на середину в 2 тонны. Саму монорельсу фиксировать не нужно, поэтому я поставил ее на 2 призмы и зафиксировал их. Расчет не получается провести - сначала программа пишет, что "деформация в данном исследовании слишком значительная и нереалистичная, хотите остановить программу и перезапустить исследование с меньшими нагрузками или с более жесткой моделью?". Я выбираю "нет". После долгого процесса расчета появляется сообщение о том, что "Состояние равновесия не было достигнута" и "Анализ больших смещений был остановлен до сохранения результата", появляется надпись о сбое расчета. 
    • maxx2000
      подгружаются при повторном открытии сборки или при первой вставке? Ну и гибкость сначала вызвала вопрос, но я не заметил существенной задержки при выборе способа вставки с ней или без неё.
    • Ветерок
      Я не понял зачем в этих деталях задана гибкость. При том, что новые значения размеров определяются не измерением, а вводом вручную.
    • BOJIOD9I
      Добрый день! Подскажите куда внести изменения на стойке fanuc 0i, чтобы когда вводишь коррекцию в графу износа она не отображалась на координатах. Пример: Резец точит размер 100 мм, по факту получается 101мм. В графе износ вносишь -1.0 мм. В итоге по координатам будет показано что резец точит 99мм, а по факту станет 100мм как нужно было.
    • ДОБРЯК
      Это есть в документации. Может быть эта информация будет полезна не только вам. https://www.mm.bme.hu/~gyebro/files/ans_help_v182/ans_elem/Hlp_E_BEAM188.html В этом разделе подробно написано Очень подробное описание этого элемента. Это элемент Тимошенко. Это надо учитывать используя этот элемент в расчетах. Остается только один вопрос зачем менять номер узла, если сразу можно задать нужный номер и менять его координаты?  
×
×
  • Создать...