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

Сделай свою работу в Solidworks эффективнее


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

Выводом куда? и какая автоматизация нужна??

Вывод в туже папку где и модели, и автоматизация как в SolidWorks Task Scheduler с созданием pdf, файлы указал и начал заниматься другой работой.

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


У меня деталь создает, но потом выдает ошибку:

 

attachicon.gifСнимок.JPG

 

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

 

Стандартные манипуляции (а их там с десяток) заменяются парой кликов. Актуально для людей, которые к примеру конструируют/компонуют верхний уровень насыщенного изделия в свободном полёте мысли. Я для себя и своих подопечных слепил - очень нравится.

 

Чтобы понять, в чём ошибка - надо скрин дебага и версия ПО.

 

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

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

ест ли возможность некой автоматизации вывода DXF развертки

Я для себя написал простенький макрос.

Работает по принципу "открыл деталь -> нажал на развертку(при необходимости) -> нажал на кнопку макроса". В папке модели создается одноименный файл dxf, ориентированный по большему габариту.

 

В шапке есть еще пара макросов на эту тему, так что выбрать есть из чего)

dxf.zip

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

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

Я постоянно так работаю, когда прорабатывается концепция нового проекта. Десяток действий не припомню: 1. Нажать кнопку "Создать новый компонент", 2. Выбрать плоскость, на которой будет создаваться эскиз (при этом создаётся сопряжение "На месте", которое позиционирует деталь). У меня получается всего два действия.

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

Я постоянно так работаю, когда прорабатывается концепция нового проекта. Десяток действий не припомню: 1. Нажать кнопку "Создать новый компонент", 2. Выбрать плоскость, на которой будет создаваться эскиз (при этом создаётся сопряжение "На месте", которое позиционирует деталь). У меня получается всего два действия.

Вы забыли упомянуть что ориентация этой детали несколько неожиданная выходит.

То есть далее:

- удалить кривое сопряжение

- выбрать пару объектов в дереве

- добавить тип сопряжения, выравнивающий новую деталь по одноименным справочным объектам сборочной единицы

- встать в режим редактирования детали

- раскрыть дерево.

 

До названного последним пункта макрос всё делает автоматически плюс присваивает введенное имя детали и если нужно сохраняет ее в папке со сборкой.

Скриншот во вложении.

Остаётся ткнуть в понравившуюся плоскость и рисовать. Дальше - как пожелает конкретно взятый конструктор.

___________

 

Справку писать к данному макросу не буду, и целесообразность применения той или иной техники моделирования обсуждать нет времени, простите.

post-27242-0-80651500-1477048247.jpg

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

Может кто подскажет,  SW2016 создал модель фланца по ГОСТ 33259, проблема в том что солид не хочет создавать конфигурации для одинаковых диаметров но с разными исполнениями, разные фланцы по диаметру или по давлению создает, а по исполнению (тип шип или паз) создавать не хочет. Модель для пробы прилагаю.

Фланец 01 ГОСТ 33259-2015.rar

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

камрады, вопрос

допустим, есть открытый файл чертежа

в нем один или несколько листов одного или разных форматов

требуется определить каких форматов - какое количество

итоговый результат в  виде, предположим, "А4-3.А2-1.А1-1" - записать в переменную

нужен код в VBA

Ссылка на сообщение
Поделиться на других сайтах
камрады, вопрос допустим, есть открытый файл чертежа
А вопрос то в чём?

В справку не заглядывали?

http://help.solidworks.com/2010/english/api/sldworksapi/set_up_drawing_sheet_example_vb.htm

http://help.solidworks.com/2010/english/api/swdocmgrapi/get_drawing_sheets_properties_example_vbnet.htm

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

нужен код в VBA

есть код на vb.net:

 ''' <summary>Форматы листов в порядке возростания</summary>
  Public lst_SortEtalon As New List(Of String) From {"А4", "А4х3", "А4х4", "А4х5", "А4х6", "А4х7", "А4х8", "А4х9",
"А3", "А3х3", "А3х4", "А3х5", "А3х6", "А3х7",
"А2", "А2х3", "А2х4", "А2х5",
"А1", "А1х3", "А1х4",
"А0", "А0х3"}



Sub ОпределитьФорматЛистовЧертежа(oDraw As IDrawingDoc)


If спецификацияНайдена = True And спецификацияНаПервомЛисте = False Then
cbo_FormatDraw.Text = "А4"
Exit Sub
End If


Dim LF0 As New List(Of Tuple(Of String, Integer, Integer)) ' список основных форматов
With LF0
.Add(Tuple.Create("А0", 841, 1189))
.Add(Tuple.Create("А0", 1189, 841))
.Add(Tuple.Create("А1", 594, 841))
.Add(Tuple.Create("А1", 841, 594))
.Add(Tuple.Create("А2", 420, 594))
.Add(Tuple.Create("А2", 594, 420))
.Add(Tuple.Create("А3", 297, 420))
.Add(Tuple.Create("А3", 420, 297))
.Add(Tuple.Create("А4", 210, 297))
End With
Dim LF1 As New List(Of Tuple(Of String, Integer, Integer)) ' список дополнительных форматов
With LF1
.Add(Tuple.Create("А0х2", 1682, 1189))
.Add(Tuple.Create("А0х3", 2523, 1189))
.Add(Tuple.Create("А1х3", 1783, 841))
.Add(Tuple.Create("А1х4", 2378, 841))
.Add(Tuple.Create("А2х3", 1261, 594))
.Add(Tuple.Create("А2х4", 1682, 594))
.Add(Tuple.Create("А2х5", 2102, 594))
.Add(Tuple.Create("А3х3", 891, 420))
.Add(Tuple.Create("А3х4", 1189, 420))
.Add(Tuple.Create("А3х5", 1486, 420))
.Add(Tuple.Create("А3х6", 1783, 420))
.Add(Tuple.Create("А3х7", 2080, 420))
.Add(Tuple.Create("А4х3", 630, 297))
.Add(Tuple.Create("А4х4", 841, 297))
.Add(Tuple.Create("А4х5", 1051, 297))
.Add(Tuple.Create("А4х6", 1261, 297))
.Add(Tuple.Create("А4х7", 1471, 297))
.Add(Tuple.Create("А4х8", 1682, 297))
.Add(Tuple.Create("А4х9", 1892, 297))
End With
'PaperSize =   swSheet.GetProperties(0) - размер листа 
'TemplateIn =  swSheet.GetProperties(1) - номер индекса (при использовании стандартного шаблона)
'Scale1 =      swSheet.GetProperties(2) - числитель масштаба листа
'scale2 =      swSheet.GetProperties(3) - знаменатель масштаба листа
'FirstAngle =  swSheet.GetProperties(4) - тип проекции (см. "свойства листа")
'Width =       swSheet.GetProperties(5) - ширина листа (бумаги)
'Height =      swSheet.GetProperties(6) - высота листа (бумаги)
Dim lst_FormatsSheets As New List(Of String) ' список содерит форматы листов чертежа
Dim lst_AddedFormat As New List(Of String) ' список содерит ДОПОЛНИТЕЛЬНЫЕ форматы листов чертежа
Dim oCount As Integer = UBound(oDraw.GetSheetNames)
Dim ex_write As Boolean ' True - нужно заполнить поле "Примечание" для формата т.к. в чертеже либо есть листы имеющие дополнительный формат, либо имеются листы с разными форматами, либо и то и другое одновременно, False - поле "Примечание" заполнять не нужно.


For i As Short = 0 To oCount ' перебираем все листы чертежа
swSheet = oDraw.Sheet(oDraw.GetSheetNames(i)) ' получаем лист чертежа по имени
If swSheet.GetName.Contains("DRW") Or swSheet.GetName.Contains("Лист") Then
Dim wDrw As Integer = swSheet.GetProperties(5) * 1000 ' ширина листа
Dim hDrw As Integer = swSheet.GetProperties(6) * 1000 ' высота листа 


For j As Integer = 0 To LF1.Count - 1 ' перебираем дополнительные форматы
If wDrw = LF1.Item(j).Item2 And hDrw = LF1.Item(j).Item3 Then
lst_AddedFormat.Add(LF1.Item(j).Item1)
End If
Next


If lst_AddedFormat.Count > 0 Then ' если в чертеже есть листы с дополнительным форматом
ex_write = True ' нужно заполнить поле "Примечание" для формата
End If


For j As Integer = 0 To LF0.Count - 1 ' перебираем основные форматы
If wDrw = LF0.Item(j).Item2 And hDrw = LF0.Item(j).Item3 Then
lst_FormatsSheets.Add(LF0.Item(j).Item1)
End If
Next
End If
Next


lst_FormatsSheets.AddRange(lst_AddedFormat) ' добавляем список найденых дополнительных форматов в список всех форматов


lst_FormatsSheets = lst_FormatsSheets.OrderBy(Function(i) lst_SortEtalon.IndexOf(i)).ToList()


For m As Integer = 0 To lst_FormatsSheets.Count - 1
For n As Integer = 0 To lst_FormatsSheets.Count - 1
If lst_FormatsSheets(m) = lst_FormatsSheets(n) And m <> n Then ' если найдено два разных элемента списка с одинаковыми именами формата листа чертежа
lst_FormatsSheets(n) = ""
End If
Next n
Next m


lst_AddedFormat.Clear()
lst_AddedFormat.AddRange(lst_FormatsSheets) ' перебрасываем найденые форматы листов в уже не нужный список для последующей обработки
lst_FormatsSheets.Clear()


For Each _Item As String In lst_AddedFormat ' избавляемся от пустых элементов
If _Item <> "" Then
lst_FormatsSheets.Add(_Item)
End If
Next


If lst_FormatsSheets.Count > 1 Then ' если в чертеже несколько листов
If ex_write = False Then ' если в чертеже нет листов имеющих дополнительные форматы
For m As Integer = 0 To lst_FormatsSheets.Count - 1
For n As Integer = 0 To lst_FormatsSheets.Count - 1
If lst_FormatsSheets(n) <> lst_FormatsSheets(m) Then ' если в списке есть разные значения т.е. в чертеже есть листы разного формата
ex_write = True ' нужно заполнить поле "Примечание" для формата
Exit For ' выходим из цикла
End If
Next
If ex_write Then ' если нужно заполнить поле "Примечание" для формата
Exit For ' выходим из цикла
End If
Next
End If
Else
cbo_FormatDraw.Text = lst_FormatsSheets(0)
txt_Note.Text = ""
End If


If ex_write Then ' если нужно заполнить поле "Примечание" для формата
cbo_FormatDraw.Text = "*)"
txt_Note.Text = ""
txt_Note.Text = "*)"
For i As Integer = 0 To lst_FormatsSheets.Count - 1
If lst_FormatsSheets(i) <> "" Then
If i = lst_FormatsSheets.Count - 1 Then ' если элемент последний
txt_Note.Text &= String.Format(" {0}", lst_FormatsSheets(i))
Else
txt_Note.Text &= String.Format(" {0},", lst_FormatsSheets(i))
End If
End If
Next
End If

End Sub

здесь:
 cbo_FormatDraw.Text - это просто список форматов
 txt_Note.Text       - текст из этого TextBox потом передаётся в свойство модели "Примечание"

 

З.Ы.

за сортировку спасибо streamdown  :worthy: 

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

Исправил ошибки в макросе для создания новой детали "NewPart2Asm".

Кому он показался интересным - пристёгиваю:

NewPart2Asm_v1.rar

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

и целесообразность применения той или иной техники моделирования обсуждать нет времени, простите.

 

Ваше право, как работать. Я просто хотел бы понять, чем так мешает

 

Вы забыли упомянуть что ориентация этой детали несколько неожиданная выходит.

 

Если на чертеже вид спереди не соответствует тому, что ожидается, просто переориентируем вид модели на нужный. Дело пары кликов.

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

Доброго времени суток!

Столкнулся с проблемой, при вставке макросом нескольких картинок, остается линия, выделил ее красным на скриншоте.

Если убрать галку "Использовать инструмент масштабирования", она пропадает.

Так же если просто выделить вставленный макросом рисунок и нажать зеленую галку, она пропадает и ее не видно.

Пробовал записать макросом снятие галки "Использовать инструмент масштабирования", но солид никак это не отображает в VBA.

В общем никак не разберусь как от нее избавится с использованием макроса.

Заранее спасибо

Вот код вставки рисунка.

            Set SkPicture = Part.SketchManager.InsertSketchPicture("D:\test.png")
            SkPicture.SetOrigin 0.0619, 0.03
            SkPicture.SetSize 0.0107, 0.0048, 1
            SkPicture.SetTransparency 1, 1, 0, 0
            Part.ClearSelection

-GToDuEWZns.jpg

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

странно, тоже пользуюсь таким способом, но линий нету.

Попробуй скрыть примечания.

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

камрады, подскажите код вызова окна сохранения файла, причем, в строке должно быть определенное, заданное имя файла

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

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

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
×
×
  • Создать...