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

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


Vladimir_k55

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

Меня не интересуют шаблоны самого солида. У автокада тоже есть свои шаблоны, и вот когда солид делает dxf, он использует один из шаблонов самого автокада. Хотелось бы узнать какой...если это конечно вообще возможно. 

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


Спасибо за помощь, проблему решила самостоятельно. Указала солиду вручную путь к шаблону автокада для создания dxf.

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

Спасибо за помощь, проблему решила самостоятельно. Указала солиду вручную путь к шаблону автокада для создания dxf.

Теперь пожалуйста расскажите всем, что и как, желательно с рисунками, спасибо!

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

Если вам важно чтобы солид создавал dxf с учтём необходимых параметров (Шрифт, тип линий, может ещё какие-нибудь параметры) то вам необходимо прописать ему путь к уже настроенному шаблону Автокада. Шаблоны автокада часто лежат в коневой папке и вы их можете редактировать, или же вы сами можете создать в автокаде чертёж отредактировав его так как нужно и сохранить с расширением dwt куда угодно. Затем при сохранении развертки детали, выбираете "Сохранить как" выбираете расширение dxf, открываете "Параметры" сохранения. Шрифты выбираете "TrueType", в Пользовательском преобразовании ставите галочку на против "Включить". "Файл отображения"-это нужный вам отредактированный шаблон. Прописываете просто путь к этому файлу и теперь солид будет использовать его как шаблон по умолчанию для создания dxf. Даже если dxf генерируются макросом, все равно используется этот шаблон.

Насторйка параметров.png

Сохранить как.png

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

@Kometa_69 Спасибо за альтернативный вариант настройки сохранения DXF-файла, надо будет его попробовать и проверить (в данный момент у меня нет установленного Автокада).

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

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

@Snake 60 Да не за что) "Не показывать отображение при каждом перестроении" интересная штука но я пока не разобралась как работать в солиде со слоями, поэтому галочку оставила. Можно ли их вообще создавать на листовой детали или они работают только в чертеже?

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

@Snake 60 Мне вот только одно не понятно, если у меня установлен Автокад я понимаю где я могу найти шаблон для создания dxf. А если автокада нет, где солид берет это шаблон. Он заложен где-то в корневой папке. Вот только где, я так и не нашла:glare: 

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

Если вам важно чтобы солид создавал dxf с учтём необходимых параметров (Шрифт, тип линий, может ещё какие-нибудь параметры) то вам необходимо прописать ему путь к уже настроенному шаблону Автокада. Шаблоны автокада часто лежат в коневой папке и вы их можете редактировать, или же вы сами можете создать в автокаде чертёж отредактировав его так как нужно и сохранить с расширением dwt куда угодно. Затем при сохранении развертки детали, выбираете "Сохранить как" выбираете расширение dxf, открываете "Параметры" сохранения. Шрифты выбираете "TrueType", в Пользовательском преобразовании ставите галочку на против "Включить". "Файл отображения"-это нужный вам отредактированный шаблон. Прописываете просто путь к этому файлу и теперь солид будет использовать его как шаблон по умолчанию для создания dxf. Даже если dxf генерируются макросом, все равно используется этот шаблон.

Насторйка параметров.png

Сохранить как.png

Проверил, способ не работает, тупо подсунуть шаблон dwt не получится. У меня sw17sp5. Файл отображения это не шаблон автокада, а map файл настроек, это разные вещи

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

Проверил, способ не работает, тупо подсунуть шаблон dwt не получится. У меня sw17sp5. Файл отображения это не шаблон автокада, а map файл настроек, это разные вещи

Вот и у меня были такие же сомнения :g:спасибо, что проверил.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Здравствуйте, очень нужна ваша помощь. Есть ли похожий макрос на этот, но с некоторыми доработками. У меня уже есть готовая развертка в формате dxf,  мне нужно начертить сотни подобных деталей, которые будут увеличиваться по ширине на 10 мм, вручную чертить такое - *бнешся. А со скриптами я не очень хорош знаком. Solidworks 2017

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

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

С помощью таблицы параметров ( это делается за пару минут) создаете нужное количество конфигураций (хоть 200). Далее используете имеющиеся макросы без всяких дополнительных скриптов. Зачем все усложнять?

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

С помощью таблицы параметров ( это делается за пару минут) создаете нужное количество конфигураций (хоть 200). Далее используете имеющиеся макросы без всяких дополнительных скриптов. Зачем все усложнять?

Я просто не настолько прошаренный в солиде, больше использую его как автокад

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

Я просто не настолько прошаренный в солиде, больше использую его как автокад

Любой инструмент желательно использовать по назначению.

Для создания детали из листового металла не нужны супер-способности, там все интуитивно понятно.

Если что непонятно - открываете справку изучаете, если после этого вопросы остаются - задаете на форуме.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Добрый день, есть код макроса из первых постов темы:

' Export Flat Pattern ---------------------------------10/26/09

' Preconditions: A Sheet metal part is open.

' Postconditions: Macro will export flat pattern view for all configuration(s)
' and save as dxf in the same location.

' ------------------------------------------------------------------------------
' Written by: Deepak Gupta (http://gupta9665.wordpress.com/)
' ------------------------------------------------------------------------------

Option Explicit

Sub main()

    Dim swApp                   As SldWorks.SldWorks
    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

' Is document active?

If swModel Is Nothing Then

    swApp.SendMsgToUser2 "A sheet metal part must be open.", swMbWarning, swMbOk

    Exit Sub

End If

 ' Is it a part document?

Dim modelType As Long

modelType = swModel.GetType

If modelType <> SwConst.swDocPART Then

    swApp.SendMsgToUser2 "A sheet metal part must be open.", swMbWarning, swMbOk

    Exit Sub

End If

        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
End Sub

что нужно изменить для сохранения не разверток, а видов спереди ( или текущих) всех конфигураций детали? Спасибо.

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

что нужно изменить для сохранения не разверток, а видов спереди ( или текущих) всех конфигураций детали?

Макрос - сохраняет виды спереди всех конфигураций детали в dwg (если нужен dxf, то просто заменить двг на дхв в тексте макроса)

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

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
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) = "*Front" '"*Current" *Front
    varViews = dataViews
    swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
Next i
End Sub

 

Можно одновременно и другие виды сохранять, если нужно

2015 SOLIDWORKS API Help - Export Part to DWG Example (VBA)

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

Макрос - сохраняет виды спереди всех конфигураций детали в dwg (если нужен dxf, то просто заменить двг на дхв в тексте макроса)

  Показать содержимое

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
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) = "*Front" '"*Current" *Front
    varViews = dataViews
    swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
Next i
End Sub

 

Можно одновременно и другие виды сохранять, если нужно

2015 SOLIDWORKS API Help - Export Part to DWG Example (VBA)

Спасибо, за ответ. Но макрос не сохраняет ничего, просто пробегает по конфигурациям. 
Тот макрос, что я выкладывал, устраивал до поры, но мешают минусы:
1) Создаёт производную конфигурацию для каждой конфигурации в листовом металле.

2) Сохраняет вид спереди (когда деталь не из листового материала), а необходим текущий .
3) Долго отрабатывает при количестве конфигураций более 10, возможно из-за перестроений детали.
пытался один с другим скрестить - не получается (
Подскажите, пожалуйста, как добавить в макрос "Export Flat Pattern":
1) Сохранение файла перед выполнением макроса (потому что он иногда крашит SW).
2) Сохранение текущего вида (можно вместо развертки).
3) Ускорение работы (может путём отключения перестраивания).
4) После отработки макроса закрытие файла без сохранения (так созданные производные конфигурации не сохранятся).
или реализовать в макросе, который вы скинули, если он заработает, пункты 1,4

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

макрос не сохраняет ничего, просто пробегает по конфигурациям

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

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

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

 

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...
18.08.2020 в 17:51, Snake 60 сказал:

Огромное спасибо за макрос. К сожалению на моем производстве не применим. Часто убираю линии фасок, циковок, резьбовых отверстий. Есть-ли возможность появления окна с корректированием линий DXF?

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

Огромное спасибо за макрос. К сожалению на моем производстве не применим. Часто убираю линии фасок, циковок, резьбовых отверстий. Есть-ли возможность появления окна с корректированием линий DXF?

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

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

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

Если о стандартном окне очистки? То, есть макрос  с окном предосмотра, сохраняет текущую конфигурацию файла в формате "толщина материала""мм"_"Обозначение" "Наименование".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   
×
×
  • Создать...