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

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


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

Написать собственный Explorer?...

Каюсь, я тут немного переборщил...Хотя, если нет необходимого функционала, а он нужен для специфических задач, то почему бы и нет... А так мне кажется, что для вашей проблемы, сам SW Explorer вроде бы и не нужен. Хотя конкретную вашу задачу я не знаю.
Ссылка на сообщение
Поделиться на других сайтах


...А так мне кажется, что для вашей проблемы, сам SW Explorer вроде бы и не нужен. Хотя конкретную вашу задачу я не знаю.

Напротив, приведённая мною задачка подготовки изначально названных по типу "АБЫ-КАК.00Х Угадайка" (к тому же без всякого заполнения атрибутов) электронно-цифровых макетов к погружению в SWR-PDM решается преимущественно при помощи SolidWorks Explorer и небольшого плагинчика непосредственно к SolidWorks.

Другое дело, что без принудительного обновления файлов постоянно выползают какие ни будь ошибки, а SolidWorks Task Scheduler стоит далеко не на каждом рабочем месте (по крайней мере в той версии SolidWorks, что у нас эксплуатируется). Да и просто принцип одного окна хотелось бы таки реализовать хоть однажды. Есть у нас и ещё парочка интересных и даже совершенно необходимых для коллективных работ задумок. Вот только кто бы нам подсказал про API к SolidWorks Explorer. :surrender:

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

Вот только кто бы нам подсказал про API к SolidWorks Explorer.

Справка по функциям API, которые использует и SW Explorer: ....\SolidWorks\api\swdocmgrapi.chm

Библиотека, где эти функции находятся, обычно: c:\Program Files\Common Files\SolidWorks Shared\SwDocumentMgr.dll. Правда, она требует лицензии...

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

Правда, она требует лицензии...

То есть лицензионного SolidWorks для таких фокусов недостаточно, а требуется ещё что-то?
Ссылка на сообщение
Поделиться на других сайтах

...требуется ещё что-то?

По моему, лицензонным пользователям SolidWorks-a, нужно просто обратиться на оффсайт. Сам то я не утруждал этим свою администрацию из принципиальных соображений. Так что точнее сказать не могу.
Ссылка на сообщение
Поделиться на других сайтах

То есть лицензионного SolidWorks для таких фокусов недостаточно, а требуется ещё что-то?

Так в справке по указанному месту:

....\SolidWorks\api\swdocmgrapi.chm

подробно расписано как получить лицензионный ключ. Отсылаете по указанному в справке адресу письмо в произвольной форме (полагаю, что лучше на английском языке, хотя у них и есть в штате владеющие русским языком, но, наверно, придётся немного дольше ждать разработчика) с желанием получить доступ к библиотеке, в ответ вам вышлют дополнительное с соглашением, что вы собираетесь пользоваться данной библиотекой на свой страх и риск с возможностью потери данных т.к. данная библиотека обращается с файлами на прямую. Приняв соглашения и отослав обратно заполненную форму вы получаете ключ к библиотеке.
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

К сожалению SWR говорят что это невозможно в принципе... неужели не врут?

Получить лицензионный ключ?

Напишите письмо на apisupportаsolidworks.com примерно следующего содержания:

May I get SolidWorks Document Manager API License Key?

Получите в ответ, что-то вроде этого (с прикреплённым файлом):

I can send a document manager license key, but first I will need you to sign (on the "by" line) the attached End User's License Agreement. You can scan/email it back or fax (978-318-5259) whichever is easier for you. Once I receive it, I can generate a key for you.

Regards,

API Support

Royalty_Free_and_re_distributable.doc

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

авто создание dxf.в архиве макрос

dxf.rar

И как этим пользоваться??? :wallbash:
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Есть идея простановки сварных швов в солиде. В настоящее время солид дает нам возможность создания сварного шва в виде контекстной детали установленного вида. В результате должно получиться множество доп.деталей, соответствующих каждому из сварных швов. Однако, нам для получения чертежа сварной сборки не очень-то нужно (а по ЕСКД и вообще не нужно) изображать в 3-D эти самые швы, только трата выч.ресурсов.

Предлагается:

Для каждой детали, которая будет привариваться в сборке ввести свойство, помечающее ее кромку для сварки. В свойстве заложим тип шва, ГОСТ его и т.д.

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

Вставить таблицу в сб.чертеж.

Далее, написать прогу, которая бы проставляла позиции для сварных швов, ориенритуруясь только на помеченные кромки.

С уважением ко всем и прочая, прочая, прочая.

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

Может менее трудоёмко будет (если уж стандартные способы не устраивают) вообще не делать 3D-модели сварки, а просто на чертеже указать где и какая сварка нужна...

А в таблице это всё-одно занимает пару строк, которые можно написать ручками или сделать шаблон (тектовый) и вставлять его когда надо...

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

Надоело лазить в св-ва листа для изменения масштаба и

задолбало окошко с предложением масштабирования примечаний

В результате родился макрос.

Может кому-то и пригодится.Масштаб.rar

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

В результате родился макрос.

Может не совсем разобрался, но чтобы это сообщение не отображалась при каждой загрузке формы:
swApp.SendMsgToUser ("Масштаб листа (вида) не сответсвует ГОСТ")
неплохо бы перед меткой ошибки выходить из процедуры:
exit sub

scale_error:

swApp.SendMsgToUser ("Масштаб листа (вида) не сответсвует ГОСТ")

Да и почему бы не сравнивать масштаб до первого совпадения, заменив ваши строки таким кодом:

If OptionButton3.Value = True Then

If ComboBox1.Value = "1:1" Then

vScaleRatio(0) = 1

vScaleRatio(1) = 1

ElseIf ComboBox1.Value = "1:2" Then

vScaleRatio(0) = 1

vScaleRatio(1) = 2

...

другие масштабы

...

End If

А ещё SW иной раз, например масштаб 1:4 может сделать в документе чертежа как 0,25:1 (может в SW2009 такого нет, а в предыдущих версиях такое наблюдалось)

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

To vladya Я тоже особо не разбирался, но все же позвольте дать несколько замечаний и советов, дабы избежать возможных нюансов, если вы и дальше будете что то делать для SolidWorks'a в плане програмирования.

Не обязательно, но все же рекомендую использовать в каждом модуле инструкцию Option Explicit. Она налагает на уровне модуля требование на явное описание всех переменных этого модуля. Это позволит избежать синтаксических и других ошибок. В вашем макросе, например, в коде UserForm1 на уровне модуля вы объявляете объектную переменную swSelMgr, а везде используете SelMgr.

Теперь по макросу. Так как он работает только с чертежами, то, желательно исключить возможность его запуска с деталями, сборками и, когда не загружен документ. На примере ClassScale это делается примерно так

Public Sub MonitorSolidWorks()

	On Error GoTo LineError

	Set swApp = Application.SldWorks

	Set swModel = swApp.ActiveDoc

	If swModel Is Nothing Then

		swApp.SendMsgToUser2 "Загрузите документ SolidWorks'à!", wMbWarning, swMbOk

		Exit Sub

	End If

	If swModel.GetType <> swDocDRAWING Then

		swApp.SendMsgToUser2 "Макрос работает только с чертежами!", wMbWarning, swMbOk

		Exit Sub

	End If

	Set MyDrw = swApp.ActiveDoc

	UserForm1.Show 0

	Exit Sub

LineError:

End Sub
Естественно, swModel где то должен быть объявлен на уровне модуля: Dim swModel As SldWorks.SldWorks.

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

Private Function GetScale(ByVal strScale As String, ByRef dNumerator As Double, ByRef dDenominator As Double, ByRef varScale As Variant) As Boolean

	On Error GoTo LineError

	Dim vScale As Variant

	vScale = Strings.Split(strScale, ":")

	dNumerator = CDbl(vScale(0))

	dDenominator = CDbl(vScale(1))

	varScale(0) = dNumerator

	varScale(1) = dDenominator

	GetScale = True

	Exit Function

LineError:

	GetScale = False

End Function



Private Sub ComboBox1_Change()

	Dim bres As Boolean

	Dim strScale As String

	Dim Numerator As Double

	Dim Denominator As Double

	Dim varScaleRatio(1) As Variant

	strScale = ComboBox1.Value

	

	bres = GetScale(strScale, Numerator, Denominator, varScaleRatio)

	

	Set swApp = CreateObject("SldWorks.Application")

	Set swModel = swApp.ActiveDoc

	Set swDraw = swModel

	If UserForm1.Caption = "Масштаб листа" Then

		If bres = True Then

			Set swSheet = swDraw.GetCurrentSheet

			bres = swSheet.SetScale(Numerator, Denominator, False, False)

			'следующая строка у вас не совсем корректна. А если нет такого свойства у пользователя?

			swModel.CustomInfo("Масштаб") = ComboBox1.Value

		End If

	Else

		Set swSelMgr = swModel.SelectionManager

		Set swView = swSelMgr.GetSelectedObject5(1)

		swView.ScaleRatio = varScaleRatio

		bres = swModel.EditRebuild3

	End If



End Sub

З.Ы. Ни в коей мере не хотел вмешиваться в ваш творческий процесс. Расказал о граблях, на которые наступал сам, когда писал на VB

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

По поводу проги для простановки сварки. К сожалению, API солида я не владею, да и програмирование у меня в принципе на уровне турбо Паскаля. Но если кто то из наших гуру возьмется за написание, то могу оказать посильную помощь. Например, создание файла с таблицей типов сварных швов. В частности, меня интересует сварка по ГОСТ 14771-76, 5264-80, 16037-80.

Есть некоторые пожелания. Было бы неплохо делать командой фаски на выбранной кромке разделку под сварку. Была бы интересна возможность создание сварного шва на детали (например, обечайке) со вставкой эскиза сварного шва в чертеж детали.

 От себя добавлю таблицу контроля сварных швов.

Tablsvar.rar

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

To Shvg, Kelny Спасибо за советы.

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

перезагрузки компа, а при написании кода все было ОК.

Масштаб 1:4 действительно отображался вначале как 0.25:1, но после исправления (чего?- не помню),такого больше не было.

Кнопку запуска макроса размещаю на панели "Чертеж", которой у меня нет ни в Детали, ни в Сборке.

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

Если макрос "полезен", то грамотные люди могли бы оптимизировать его

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

Если макрос "полезен", то грамотные люди могли бы оптимизировать его

Макрос может быть и полезен (будет), когда будет сделан до конца....

По крайней мере до изначальной задачи...

"Грамотные люди" наверное смогут доделать за Вас (а Вам уже не интересно??) - но думаю им проще сделать нечто своё (если захотят конечно)...

А то пока есть

Надоело лазить в св-ва листа для изменения масштаба и

задолбало окошко с предложением масштабирования примечаний

В результате родился макрос.

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

Вопрос по VB

Какой тип 'sketch entity' генерируется после етой команде

'void ModelDoc2.SketchConvertIsoCurves ( percentRatio, vORuDir, doConstrain, skipHoles)'

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

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

Т.к. у Diimon возникли проблемы с установкой программки, котороя писалась для M.A.N.T.A

Считывает кол-во компонентов из сборки и записывает в свойство в модели. Реализована в виде DLL,. К SW подключается как Add-ins. В настройках прописывается имя свойства в модели, куда будет записываться кол-во ( в закладке Configuration Specif) и, так называемое исключение из правил. Т.е. когда существуют разные конфигурации модели в сборке, а должна считываться как одна модель. Например пружина с разными высотами. Для этого в этом свойстве (в закладке Custom) должна стоят единица. Особо не тестировал, по сему извиняюсь за возможные глюки.

то прицепил по новой полный *.msi файл.

P.S. Просьба отписаться как прошла установка, а то непонятки какие-то. У меня с ней, с установкой то, проблем нет, хотя и не работаю с этой програмкой.

Setup.rar

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

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

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

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

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

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

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

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

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

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

    • Snake 60



  • Сообщения

    • Jesse
      шо т не гуглится.. Искал по тегу "researchgate александр казанцев диаграмма кэмпбелла") ну да. у меня жёсткость только растёт, получается.. и частота увеличивается. А как кстати физически/по сопромату объяснить изменение частоты? Ну по аналогии как мы говорим, что для оболочек при увеличении толщины СЧ растёт, т.к. изгибная жёсткость растёт ~ кубу толщины, а масса ~ первой степени толщины. Вот в таких вот терминах сможете объяснить изменение частоты при увеличении вращения ротора?)   @AlexKaz самое главное.. каков итог по расчёту МКЭ? только в Ansys/Femap/Abaqus лезть? выкрутиться никак? 
    • gudstartup
      координаты в этих параметрах настраиваются как правило для точной кинематики станка если есть отклонения то при повороте плоскости обработки возникнет ошибка. допустимые отклонения должны быть  при расположении калибровочной сферы в любом месте стола. если вы располагаете деталь в одних координатах и при развороте отклонения в допуске то с большой вероятностью геометрия осей отличается от кинематической модели. хотя это все зависит в какой допуск вы пытаетесь влезть
    • AlexKaz
      Суть явления вилки в том, что частота на нижней ветке вилки падает, иногда вплоть до нуля. Способом выше такой эффект потери жёсткости нельзя получить никак. Книжки: теория колебаний. В них есть глава про аналитический расчёт частот ротора с тонким диском, в том числе с эксцентриситетом. И прямая, и оьратная прецессия.   На эту тему можно даже глянуть мой бакалаврский диплом, выложен на researchgate - там мною решалась подобная задача, и приведена вся литература для начала погружения.
    • Artas28
      нашли нужные параметры в разделе 5-axis par.
    • gudstartup
      Контроль положения центра инструмента. проще наклонный план(плоскость) настраиваются как правило точки пересечения осей вращения и расстояние оси z от поверности торца шпинделя до этого центра.
    • lem_on
      Особенно когда на одной партии размер стоит как кол на морозе, а на другой надо опять с бубном возле станка потанцевать.
    • maxx2000
      Логично что нужен пароль с более высоким уровнем доступа. 520 не открывает? может 521 и т.д.
    • Artas28
      Добрый день. Кто нибудь в синтеках, калибровал RTCP (не знаю как правильно это назвать)? В мануале C_CNC Parameter Manual для этого есть параметры, начиная от pr3001, но в станке такие параметры не отображаются. (или они скрыты) Сдвинули стол в более удобное положение(4-5ось), а RTCP правильно отрабатывает только в первоначальных координатах стола. Нужно забить новые координаты в параметры для нового расположения стола. Как к ним добраться.
    • Baradozzz
      Уже разобрался. Стойка сама расставляет знак ";"
    • Jesse
      Нужно построить диаграмму Кэмпбелла для вала центробежного многоступенчатого насоса, а так как я новичок в этой тематике, то нужно оживить данный топик :-) Критические частоты собираюсь считать в МКЭ. При этом моё ПО не позволяет посчитать изменённые частоты с учётом гироскопических моментов, прецессии и прочих няшностей автоматизировано как в Femap/Ansys. Времени на изучение этих программ нет, так что думаю выкрутиться следующим образом: 1) Моё ПО позволяет извлечь деформированную форму из статического анализа, так что на первом этапе считаю линейную статику, где к валу приложена сила тяжести, извлекаю деформированную модель; 2) на искривлённой модели вала считаю преднапряжённый модальник, т.е. делаю несколько расчётов СЧ с разными частотами вращения вала. 3) соединяю точки, строю диаграмму Кэмпбелла.   Вроде бы всё понятно, решил отработать на "игрушечной" модельке.. Вот такой простенький вал с одной ступенью в центре. Жёсткое защемление по всем ст. своб. на торцах.   Прогиб в статике. Извлекаю деформированную форму Преднапряженный вращением модальник искривлённой модели вала. 1-я частота ~12 Гц   Модальник без нагрузки искривлённой модели вала, Модальник без нагрузки исходной (прямой) модели вала, а также преднапряженный модальник исходной модели вала дали примерно одинаковую первую собственную частоту ~10.5 Гц. Т.е. вроде как метода работает, частота сдвинулась: если говорить языком МКЭ, то искривлённая модель внесла необходимые корректировки в матрицу масс, а преднапряжение - в матрицу жёсткости (что-то похожее давно обсуждали в топике с Графской пружиной). Но вот с этими вилками уже непонятка получается.. не удаётся получить эти самые вилки. Пробовал нагружать вращением по часовой и против часовой стрелки: по моей логике в одном случае частоты должны быть расти относительно расчёта с прямым валом, в другом - падать. Но частоты получаются ровно те же самые...    Про моменты сил вообще не понятно.. В моём скудном понимании при вращении тела с неуравновешенной массой возникают дополнительные силы инерции, которые в случае вала приводят к его колебаниям (нутация). А гироскопический момент по идее должен всегда препятствовать потере устойчивости (сильной раскачке) вала, т.е. должен стремиться возвращать в исходное положение. Буду рад если погрузите меня в физику процесса :-)   Народ, что думаете насчёт методики в целом? Имеет ли право на жизнь? Или она априори неверна?    
×
×
  • Создать...