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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      обычно эта страница везде есть
    • Александр1979
      Попробуйте параметр 9927 бит 4 установить 1
    • gudstartup
      Здравствуйте! Может кто подсказать тип интерфейса этих датчиков ? Например для линеек хеденхайн  с цифровым интерфейсом это Fanuc 02 Fanuc 05. знаю  только что там последовательный интерфейс но совместим ли он с интерфейсом линеек или нет? вопрос возник потому что есть приборчик pwm21 от хайден для тестирования датчиков который нормально тестирует линейки и круговые датчики с вышеописанными интерфейсами а вот моторные датчики игнорирует, поэтому возникло подозрение что у них другой интерфейс. По описанию прибор может тестировать X1 15-pin D-sub input for HEIDENHAIN encoders with 11 μAPP/25 μAPP interface 1 VPP/3 VPP interface (1 VPP/Z1, 1 VPP with limit positions, 1 VPP with clock/data) EnDat/SSI interface TTL interface with limit positions HTL interface (connection only for service purposes via external adapter, e.g. ID 1093210-01) Fanuc, Mitsubishi, Yaskawa, or Panasonic interface
    • maxx2000
      @vanek77777 Человек задал вопрос как ограничить углы, я ответил что ничего ограничивать не надо, надо правильно построить стратегию обработки и озвучил как это должно выглядеть по моему мнению. Как всегда мои слова носят рекомендательный характер, не претендуют на истину в виду отсутствия возможности в функционале в самой лучшей CAM или отсутствия опыта оператора или понимания что и как и необязательны к применению безоговорочно И не надо спорить, вместо тысячи слов достаточно показать мультик как всё круто у тебя получается.  т.е. ты не знаешь как в 5 осях обработать криволинейный участок поверхности? НО при этом пытаешся критиковать. Забавно.   А судьи кто?   Что касательно того кто в какой CAD\CAM работает, то это не меняет тех фундаментальных принципов по которым происходит проектирование деталей и их обработка. Так сложилось что все программы основаны на одних общий принципах, повернул-обработал или обработал в момент поворота. Вопрос лишь в том насколько хорошо ты знаешь свою самую лучшую систему и можешь экстраполировать увиденное у других в неё. Т.е. твою склонность усваивать информацию, уметь её анализировать и применять, а не быть обезьяной кнопконажимателем. Я всегда об этом говорил и буду придерживаться своего мнения.
    • Александр 36
      Добрый.Подскажите как можно вывести отображение машинного времени?
    • vanek77777
      Балабол) Тебе уже говорили как-то выше по ветке, не давай советы по cad/cam системе в которой видимо даже не работаешь) Человек задал конкретный вопрос, как назначить конкретную обработку. Если ты не можешь показать, а ты не можешь, то пройди мимо. Конкретно по вопросу выше, я помочь не могу, т.к. не было необходимости делать такую обработку. Скилл как правило не определяется знанием всего по чуть чуть (как в твоем случае). Если ты занимаешься всем (судя по твоим постам на форуме), то ты ни чем не занимаешься по сути. На этом я больше тратить время на споры с тобой и флуд не буду. 
    • maxx2000
      пробывал поставить птичку "разрешить привязку"? да забей ты на лайки- шмайки, словами ответь. Пробовал или помогло?
    • maxx2000
      охренел что ли, где я ему про 3+2 говорил?  По твоему 5 осевая стратегия всегда подразумевает непрерывное движение всех 5 осей? Что на 4 осевом станке нельзя использовать 5 осевые стратегии?   а спину вареньем не намазать?   Я ещё раз повторюсь,  создаётся  ЛСК (или как там она у вас называется у NXстрадальцев) обрабатываемого элемента, Z этой ЛСК будет автоматически довернута вдоль оси шпинделя(повернётся стол), а поскольку обрабатываемый элемент не плоский (с подвывертом) обработка будет вестись по всем осям (непрерывная 5 осевая), а наклон инструмента будет минимизирован, в зависимости от того как настроена обработка вдоль Z ЛСК элемента,  по нормали к элементу или будет разрешено резать боком. Либо не выёживаться и использовать инструмент для обработки импеллера. Чё тут непонятного? Ах да, нет картинок волшебных. Ну мои картинки тут не приветствуются, без желания понять суть, они бесполезны.   Алаверды Сделай и выложи сюда проект. Покажи на деле. Посмотрим на твою скилуху.  
    • GHEB
      Добрый день Создал некую модель, всё было хорошо, но после перезапуска программы почему то эскиз перестал привязываться к линиям: Выбираю "Эскиз" https://skr.sh/sPckC4oM2Sf Нажимаю на нужную мне плоскость https://skr.sh/sPc7M6DGRDq Выбираю линию https://skr.sh/sPcnw9t9J9u Пытаюсь начать рисовать от центра окружности https://skr.sh/sPc1Kklf8nM Пытаюсь рисовать от некой точки https://skr.sh/sPcECS6vnwL Как видно курсор не привязывается к точкам, из-за чего попасть точно не представляется возможным Тоже самое если я пытаюсь к эскизу например дорисовать линию https://skr.sh/sPcX7Wyj0e6  В настройках эскиза настроено так, пробовал "перетыкивать" не помогло: https://skr.sh/sPc1CoTvYDS Версия https://skr.sh/sPcH4esnnCK Скрин всего окна и настроек, о которых я вычитал тут:  https://skr.sh/sPcHbYP5iB4 Скрин https://skr.sh/sPcHbYP5iB4 всего окна и настроек, о которых я вычитал тут:      Нашёл "быстрые привязки, но они работают не очень хорошо для окружностей и между ними приходиться переключаться, до этого таокго не было, неудобо https://skr.sh/sPcvE3KzS3u
    • Viktor2004
      Вот этот пример работает безотказно Нажатие на F1 включает кипп-реле К50.0, нажатие F2 его выключает O8001 G240 P3 C0 G243 X2 Y0 A1 B0 (TEST PROGRAM) G240 P6 C0 G243 X7 Y[4 + 1] (SECOND SCREEN) G240 P7 C0 G243 X5 Y26 A1 B0 (K50.1) G243 X5 Y27 A1 B0 (ON) G243 X12 Y26 A1 B0 (K50.1) G243 X12 Y27 A1 B0 (OFF) IF [#8549 EQ 249] THEN G310 K50 Q1 ENDIF IF [#8549 EQ 248] THEN G310 K50 Q0 ENDIF M99  
×
×
  • Создать...