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

Сделай свою работу в 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 пользователь

    • isstorik



  • Сообщения

    • david1920
      Вот и ответ для автора
    • zwg
      УГОЛОК РАСЧЕТ РАЗВЕРТКИ   ДИАПАЗОН КОРРЕКЦИИ мм V А Б расчетный BD развертка развертка CY factor ШУМ ось Х-V 1 8 40 40 1,8 78,2 78,07 0,95 78,15 39,07 1,5 12 40 40 2,8 77,2 79,27 0,95 77,19 38,59 2 12 40 40 3,6 76,4 76,24 0,95 76,4 38,2 2,5 16 40 40 4,2 75,8 75,22 0,85 75,84 37,92 3 20 40 40 5,2 74,8 74,17 0,85 74,9 37,45 4 35 40 40 6,6 73,4 71,90 0,75 73,48 36,74 5 35 40 40 8,9 71,1 70,28 0,8 71,9 35,95 6 50 40 40 10,6 69,4 67,97 0,85 69,42 34,71 8 50 40 40 14,5 65,5 64,69 0,95 65,36 32,68 К сожалению, данные выше пока больше теоретические. Взят реальный результат по развертке УГОЛОК (получено опытным путем) и уже к нему был приведен FACTOR для CYBELEC - CORRECTION FACTOR FOR THE DIN 6935 CALCULUS. Развертка CY - в случае пустого значения - "СТАЛЬБ" окна ПРОДУКТ/ЦИФРОВАЯ ДЕТАЛЬ (для русского перевода CYBELEC). Получилось: - для толщин/матриц V8-12/1-2мм, FACTOR ближе к 0,95 - для толщин/матриц V16-50/2,5-8мм, FACTOR ближе к 0,85.  
    • gudstartup
      это не датчики тока а резисторы для контроля входного напряжения. датчики тока у фанук это спец модули с токовым трансформатором и они не отгорают а просто выдают уровень напряжения на схему контроля тока при этом даже при выключенном силовом напряжении будет ошибка
    • gudstartup
      всегда определяли наличие нуль метки введя м19 если ориентируется значит она есть. @mrVladimir можете при вращении шпинделя смотреть на параметр диагностики 445 он показывает число импульсов на оборот вашего шпиндельного датчика после достижения 0 метки счет начинается с нуля
    • Fedor
      Нынче настали времена компьютерного фетишизма, когда люди могут намного больше чем знают и понимают. Идет очередная революция в истории человечества.  Просто верят,   что есть программка, которая решит все их проблемы   :) Как раньше вырезали божков когда один отвечал за дождь, другой за урожай и так далее. Потом объединили в одном. Как сейчас надеются объединить в едином ИИ :) 
    • gudstartup
      Вы свой опыт нарабатываете и это похвально, но ваша  интерпретация руководства фанук  говорит о том что вы не можете адекватно выполнить того что там написано не говоря уже о более глубоком ремонте! вам предложили поменять psm это дело получаса чтобы понять что же неисправно, но вы видимо не хотите это определить  а надеетесь что вам придет идея или вы во сне увидите неисправный элемент!!   Ждите озарения это ваш выбор!!
    • andrey2147
      Систем -вправо,- серво сет, -серво тюн.- поз еррор.
    • andrey2147
      Это что на контрольные клеммы приходит ? Куда входит ?
    • Artem CAD-is
      В SOLIDWORKS идет версия Xpress На сегодняшний день, к сожалению, нет варианта приобрести новую лицензию.  Остается 1 вариант, но, по правилам форума, я не могу здесь писать как и где этот вариант использовать.  P.S. - я надеюсь все все поняли)  
    • Tad
      Вы спрашиваете про опыт... @gudstartup совершенно прав - отправляйте узел в ремонт, так как некомпетентная возня, как правило, приводит к бОльшим как временным так и материальным потерям.
×
×
  • Создать...