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

Сделай свою работу в 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 эмодзи.

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

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

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

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

    • USSR_Nic



  • Сообщения

    • Fedor
      "ГОСТ Р 57700.10-2018"  Удивительный пункт 5.3.1.   А если элементы квадратичные или более того кубичные или с более сложной структурой ?    Методы основаны на математике, а на математику тоже госты собираются написать ?   :) Валидация это вам не верификация   https://ru.wikipedia.org/wiki/Валидация    :):):) 
    • Alexey8107
      Вобщем результаты. В обед перед окном еще раз прошелся по своей памяти, сравнил две старые платы(одна от взорванного PSM, вторая от ремонта с рекуперацией. Я точно помню что лет 5 назад ремонтировали SPM), оставшиеся от ремонта. Начал подозревать что они обе слишком подозрительно похожи друг на друга, по сути отличаются только номиналами трансформаторов тока и совсем мелкими деталями... И понимаю что память мне сильно изменяет! Обе платы от PSM, но разной мощности. И действительно в SPM стоит плата хоть и похожа, но отличия значительные. Так что решил сразу замахнуть PSM. Станок сразу запустился. Осталось только загадкой, почему неисправный PSM в соло вчера показывал "-". Сегодня запустил на операционном столе и вижу "1", точно так же в соло. Вобщем пока свяжусь с фануком, пока уладим административные дела, пока проплатим, попробую в нем аккуратно поковыряться.
    • aalex_b
      Добрый день. ЧПУ TNC426. Станок с поворотной головой: есть вертикальное положение и есть горизонтальное. Так же поворотный стол, ось С Вышел из строя HDD. Восстановил данные через акроникс, сделав образ с соседнего аналогичного станка. Станок поехал, все зашевелилось Но теперь не знаю, как настроить ему точки смены инструмента, трансформацию и поворот оси C. Где подсмотреть инструкцию, что измерять и как измерять, куда вносить данные, в какие параметры. Прошу совета и помощи. Никогда это не делал.
    • Jesse
      За прошедшее десятилетие (ухх, как же время летит!) уже были вопросы про локальные пластические деформации в статическом расчете и про локальные формы потери устойчивости. В обоих случаях на все эти "локальности" можно подзабить. В первом случае у меня даже шаблонная фразочка есть, которую я в отчёты вставляю, ссылаясь на ГОСТ Р 57700.10-2018. Это всё хорошо. Но что у нас с цикликой? К примеру, есть вал насоса, который в процессе работы изгибается. В валу есть шпоночные отверствия, всякие переходы вплоть до радиуса R=0.25 мм и прочая мелкая ересь, где развиваются большие напряжения, превышающие предел выносливости материала.. В то время как в основной толще материала напряжения на порядок меньше предела выносливости и там всё ок. Как быть в этой ситуации? Ведь разрушение в процессе многоцикловой усталости происходит в результате зарождения и роста микротрещин. То есть по идее в этом радиусе R=0.25 мм трещинка пойдёт и разрушит весь весь вал за условные 10^12 циклов? Или не разрушит? Если не разрушит, то как обосновать, что не разрушит? С точки зрения физики/МДТТ мы знаем, что в статике у пластичного материала в малой области превысится предел текучести, появится небольшая область течения, и на этом всё. "Пластика" дальше не пойдёт. МОжно даже просчитать и проверить для успокоения души, что пластических шарниров не будет. Но в многоцикловой усталости мы ничего расчетом проверить не можем как все эти "неприятные локальности" себя поведут за 10^12 циклов. Только кривые Веллера и т.п. Ну и результаты упругого расчета..   Какой эмпирико-нормативный опыт есть у человечества, чтоб показать, что разрушения и катастрофического роста трещины НЕ произойдёт за большое кол-во циклов, если в небольшом объеме материала по результатам упругого расчета напряжения превышают предел выносливости?
    • malvi.dp
    • Srgwell
      Библиотеки не все подключены. Там другие какие то были включены. При чем сбиваются иногда
    • Snake 60
      @clavr  Попробовал в 2024-м так и есть, не хочет перепривязывать размеры, настройки не нашел :(
    • Snake 60
    • gudstartup
      @Alexey8107 учитывая то что иногда станок все же включается то похоже на плохой контакт или высохшую емкость у нас на старом svm альфа были случайные ошибки 8 9 именно из за емкости. фанук их умудрился так замаскировать между  двумя  разъемами еле нашли,,,
    • vad0000
      DELEM предлагает такой метод Приходит партия металла, Вы в ЧПУ вводите уголок 100*100., и получаете развёртку. Изготавливаете ее, и далее гнете. Одна сторона у Вас получится 100, если конечно правильно настроен упор, а другая никогда не получится 100, либо больше, либо меньше. Cybelec для каждого материала предлагает 10 различных поправок. Т.е. согнул один раз уголок, и получил поправку на всю партию металла. Пришла новая партия, согнули ещё один уголок. Все понятно?
×
×
  • Создать...