Rich

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

4,602 posts in this topic
Pinned posts

Тема создана для обмена, создания и поиска различных прикладных программ, макросов, аддонов к программе Solidworks. 

(обсуждение других вопросов, не по тематике топика, прошу вести в соответствующих темах или создавать свои. С ув. streamdown)

 

 

Приветствую всех.

Для чего сделана эта тема я думаю уже многим объяснять не надо. Обновляю шапку (спасибо Plumber, а так же Kelny)
 
 

 
  • Конвертация и печать PDF - PDF_Batch
  • Простановка знака одинаковых отверстий - SameACircle
  • Установка страницы для печати (горизонтальная, вертикальная) - Pagesetup
  • Сжатие файлов SW - Defrag
  • Заполнение свойств файла - propMgr
  • Форматирование внутренней спецификации SW (не Excel) - EditCpecV2
  • База материала и штриховок - GOST_Материалы_18.04.05.rar
  • Пружина (модель с подбором в Excel) - Пружина
  • Печать на разные принтеры разных форматов - PrintSWDrawing
  • Изменение свойств файла (буржуйская) - PropertyEditorSpec
  • Сохранение чертежей в формате tiff - Auto_Tiff
  • Блоки со значками шероховатости с точкой привязки в углу чертежа - Znak_v_uglu_cherteja
  • Программа для простановки неуказанной шероховатости - НШ_SW
  • Пакетная запись чертежей в PDF из выбранной папки - SWpdfProjcts
  • Заполнение массы в конфигурациях, удаление какого-либо свойства сразу во всех конфигурациях детали - Get Set Mass Property
  • Макрос для чтение максимального размера по оси X, Y и Z. И последующей записи в свойство файла - GetMaxBoxSize
  • Плагин сортировки для SWR спецификации - Sort_2.2
  • Макрос служит для изменения шрифта в документе на новый - SetFontsTNR
  • Макрос служит для перезагрузки форматки основной надписи на активном листе - RefreshTemplate
  • Solidworks совершая некоторые дейтвия может заблокироваться, программа позволит разблокировать Solidworks и продолжить работу - UnlockSolidworks
  • Делает вырез и гибку на плоскости - Flexible v2.0.0.0
  • Редактор свойств в комплекте с генератором форматок - Prop 3.2
  • Добавление и редактирование ТТ - Tehni4eskie_trebovania_Beta_2.4
  • Заполнение основной надписи - Оснвная надпись Beta v.2.4 SW2007
  • Многострочное заполнение свойств файла - Change_property_V2.0
  • Макрос для генерации форматок - Master_2.1
  • Макрос для открытия выделенного компонента или подсборки из сборки, по одному клику по кнопке - OpenPart
  • Макрос для открытия чертежей с похожими именами отличными от названий открытых документов деталей и сборок - OpenDrawing
  • Макрос для обновления всех конфигураций, в модели детали или сборки - RefreshConfigurations
  • Сохранение в формате PDF - SaveAsPDF
  • Добавление новой конфигурации - AddConfig
  • Макрос переименовывает и добавляет конфигурации - RenameAddConfig_1_1
  • Позволяет автоматоматом получать dxf из всех конфигураций модели - Techfun
  • Добавление записей в размер (2отв.,3фаски и т.д) - RecordDimM_5.0
  • Данная программа предназначена для заполнения свойств пользователя и конфигураций - SWrama 4.3.1
  • RebuildProperties
  • Программа для создания иллюстрированных каталогов деталей в MS Word - SWtoWordExport
  • Прога для массового изменения свойств файлов Sw - SWproperMassEffect
  • Материалы и штриховки для Solidworks - SW_Hatch
  • Макрос изменения шрифтов - SetFontsTNR
  • Печать чертежей - PrintSWDrawing2
  • Макрос для заполнения свойства "Формат" - AddCustomFormat
  • Авто создание dxf (похоже дублирует предыдущий макрос на эту тему) DFX
  • Макрос для изменение масштаба листа - Масштаб
  • Таблица контроля сварных швов - Скачать в этом посте
  • Программа поиска файлов по указанным путям и просмотра найденных файлов - ArhivSearch3(eDrawings2009)
  • Программа поиска файлов по указанным путям и просмотра найденных файлов - ArhivSearch3(eDrawings2007)
  • Как записать сортамент материала в Базу материалов Solidworks - Смотреть тут
  • Пакет макросов [/font] SWPlus от Leon Тема тут
  • Макрос для вставки условных обозначений отверстий HoleSymbol
  • Генератор обозначения сортамента ГеОС
  • Как добавить кнопку макроса на запуск EXE ТУТ
7 people like this

Share this post


Link to post
Share on other sites


UnPinned posts

Ну тогда уж

"Ндиаметр"=159

"Толщина"=6

<STACK size=0.9 divider=no>Труба $PRP:"Ндиаметр"х$PRP:"Толщина"-12Х18Н10Т<OVER>ГОСТ 9941-81</STACK>

иначе по высоте в поле не влезает.

Что касается хелпа, то комп новый. Винда и солид ставились только 1 раз. Возможно глюк из-за того что я IE вырезал перед установкой винды. Но если мне не приснилось, где-то тут я недавно видел, что у кого-то такая же проблема, и ему подсказали решение.

Share this post


Link to post
Share on other sites

<STACK size=0.9 divider=no>Труба $PRP:"Ндиаметр"х$PRP:"Толщина"-12Х18Н10Т<OVER>ГОСТ 9941-81</STACK>

У меня 2008-ой запись с переменными не воспринимает. (Ндиаметр и Толщина) Пишет, что база будущей версии.

Share this post


Link to post
Share on other sites

У меня 2008-ой запись с переменными не воспринимает. (Ндиаметр и Толщина) Пишет, что база будущей версии.

А если заменить двойные кавычки на $PRP:"Толщина"

и заменить < на & lt; (необходимо записывать без пробела между & и lt;)

& lt;STACK size=0.9 divider=no>Труба $PRP:"Ндиаметр"х$PRP:"Толщина"-12Х18Н10Т& lt;OVER>ГОСТ 9941-81& lt;/STACK>
& lt; (необходимо записывать без пробела между & и lt;)

Share this post


Link to post
Share on other sites

Вот вставил просто переменную в однострочной записи ...$PRP:"Толщина&quot... и уже вопит, что будущая версия.

<material name="Лист АМг1$PRP:"Толщина&quot">

А вот так все хорошо:

<material name="Лист АМг1">

Share this post


Link to post
Share on other sites

<material name="Лист АМг1$PRP:"Толщина&quot">

& - этот знак, кажется, тоже служебный для XML, а поскольку вторая сущность не дописана до конца то появляется служебный знак в тексте, возможно, причина в этом.

В SW2007 это работает, если записать полностью (") :

<material name="Лист АМг1$PRP:"Толщина"">

Share this post


Link to post
Share on other sites

$PRP:"Толщина"

Класс! Здорово! Спасибо!

- Я опять про точку с запятой прохлопал - теперь переменная "толщина" ставится куда надо. Соответственно номенклатура материалов уменьшилась.

Share this post


Link to post
Share on other sites

Вот такой вопрос возник. Есть модель аппарата с 3-мя конфигурациями:

1 - по умолчанию (для чертежа)

2 - гидроиспытание (добавлена деталь "Объем гидроиспытания.SLDPRT", которая погашена в остальных конфигурациях")

3 - рабочее состояние (добавлена деталь "Объем рабочий.SLDPRT", которая погашена в остальных конфигурациях")

Детали "Объем гидроиспытания.SLDPRT" и "Объем рабочий.SLDPRT" имитируют налитую во внутрь аппарата воду (те. имеют плотность 1000 кг/м3), соттветственно, налитую под завязку или до рабочего уровня.

Добавляю следующие свойства в модели:

"Вместимость аппарата"="SW-Volume@Объем гидроиспытания.SLDPRT"

"Масса аппарата в рабочем состоянии"=""SW-Mass@@Рабочее состояние@Аппарат.SLDASM"

"Масса аппарата при гидроиспытании"=""SW-Mass@@Гидроиспытание@Аппарат.SLDASM"

На сборочном чертеже в тех. характеристике пишу:

7. Вместимость аппарата $PRPSHEET:"Вместимость аппарата" м3.

8. Масса аппарата в рабочем состоянии $PRPSHEET:"Масса аппарата в рабочем состоянии" кг.

9. Масса аппарата при гидроиспытании $PRPSHEET:"Масса аппарата при гидроиспытании" кг.

Проблема в том, что цифры в характеристике появляются только после того, как в модели переключить по очереди все конфигурации. Можно ли это обойти? А то когда дойдет до печати чертежей могу и не вспомнить, что надо эти цифры получить на чертеже!

Share this post


Link to post
Share on other sites

Проблема в том, что цифры в характеристике появляются только после того, как в модели переключить по очереди все конфигурации

Соответствующие переменные надо включить в соответствующих конфигурациях (правая закладка). Тогда они всегда будут и появляться обновляться. (как мне всегда казалось).

Share this post


Link to post
Share on other sites

ILL

в заметке должно быть не $PRPSHEET:"........." кг

а так

post-7290-1236112942_thumb.jpg

Share this post


Link to post
Share on other sites

ID: 1451   Posted (edited)

2VOleg:

что то не совсем понял как их включить?

2Nikona:

у меня так не получилось.

PS. SW2007 SP1

PPS. На чертеже детали сделал по методу Nikona - работает, на чертеже сборки - нет.

Edited by ILL

Share this post


Link to post
Share on other sites

Nikona

С массой класно получилось. Спасибо.

А как бы еще так же и скажем "обозначение" вытаскивать? Чтобы вместо №1 было написано какому исполнению принадлежит масса. Я по пробовал не получается пишет только обозначение текущего вида.

Share this post


Link to post
Share on other sites

2VOleg:

что то не совсем понял как их включить?

2Nikona:

у меня так не получилось.

Документы чертежа детали/сборки отличий не имеют

post-7290-1236166009_thumb.jpg

а в модели свойства "включаются" так

post-7290-1236166022_thumb.jpg

Share this post


Link to post
Share on other sites

Да, кстати, забыл написать, что конфигурации "гидроиспытание" и "рабочее состояние" являются вложенными конфигурациями для той, которая "по умолчанию". Если это имеет какое то значение.

Поколдовал с включением свойств в конфигурациях. Удалось добиться, что "Масса аппарата в рабочем состоянии" вычисляется при открытии модели в конфигурации "по умолчанию". А вот значения "Вместимость аппарата" и "Масса аппарата при гидроиспытании" появляются только после активации данной конфигурации в модели.

ILL

в заметке должно быть не $PRPSHEET:"........." кг

а так

В чертеже работают оба варианта:

7. Вместимость аппарата $PRPSHEET:"Вместимость аппарата" м3.

8. Масса аппарата в рабочем состоянии $PRPSHEET:"Масса аппарата в рабочем состоянии" кг.

9. Масса аппарата при гидроиспытании $PRPSHEET:"Масса аппарата при гидроиспытании" кг.

и

7. Вместимость аппарата "SW-Volume@Объем гидроиспытания.SLDPRT" м3.

8. Масса аппарата в рабочем состоянии "SW-Mass@@Рабочее состояние@Аппарат.SLDASM" кг.

9. Масса аппарата при гидроиспытании "SW-Mass@@Гидроиспытание@Аппарат.SLDASM" кг.

Только опять приходится предварительно активировать конфигурацию "гидроиспытание". :-S

Share this post


Link to post
Share on other sites

Ето команда "swCurve.Evaluate2(nStartParam, 0)" работает на sw2007 sp1?

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

Share this post


Link to post
Share on other sites

Ето команда "swCurve.Evaluate2(nStartParam, 0)" работает на sw2007 sp1?

Изменение в API фиксируется в документе под названием ЧТО НОВОГО (в разделе Другие функциональные возможности->API):

Начиная с SW2005 (возможно, периодически удаляются при снятии с поддержки), на официальном сайте меняя цифры на нужную версию и/или язык: <noindex>http://files.solid...an/whatsnew.pdf</noindex>

Share this post


Link to post
Share on other sites

Ето команда "swCurve.Evaluate2(nStartParam, 0)" работает на sw2007 sp1?

Не знаю, как в SP1, но в SP0 ее нет, а в SW2008 она уже есть. Самый простой способ узнать, если вы работаете в VB, поиск по названию функции в Object Browse. Если другой язык, то анологично...

Share this post


Link to post
Share on other sites

Спасибо. Узнал что работает на sw2007 sp5.

Share this post


Link to post
Share on other sites

Здрасте, может знает кто как сделать на чертеже отображение десятичных долей градуса в градусную мере ( минуты , секунды ) . Может есть скрипт какой ? Ато предстоит работа где необходимо проставить туеву хучу угловых размеров . Заранее спасибо ! :g:

Здрасте, может знает кто как сделать на чертеже отображение десятичных долей градуса в градусную мере ( минуты , секунды ) . Может есть скрипт какой ? Ато предстоит работа где необходимо проставить туеву хучу угловых размеров . Заранее спасибо ! :g:

Спасибо сам нашёл .

Share this post


Link to post
Share on other sites

У меня вопрос по аналогии с проставлением массы..и материала.. можно ли узнать название переменной где храниться текущий масштаб чертежа? И не спрашивайте меня зачем мне это... Не отвечу потому как сам не знаю...))..просто со всем вроде разобрался а здесь как-то не вышло..(

Share this post


Link to post
Share on other sites

SW-Масштаб листа

А зачем и так понятно - в основной надписи должна стоять эта переменная - обязательно.

Share this post


Link to post
Share on other sites

У меня вопрос по аналогии с проставлением массы..и материала.. можно ли узнать название переменной где храниться текущий масштаб чертежа? И не спрашивайте меня зачем мне это... Не отвечу потому как сам не знаю...))..просто со всем вроде разобрался а здесь как-то не вышло..(

Можно перейти в редактирование "Основной надписи" (пр.кл.), выделить рамкой ту часть где есть запись про масштаб, ткнуть мышкой в эту область, пр. кл. - "Редактировать в окне"...

И получите все переменные для этой (или другой) записи...

Share this post


Link to post
Share on other sites

У меня вопрос.

подскажите команды макроса что-бы

как вставить деталь в сборку с совмещением 3-х плоскостей (названных 1 2 3) с тремя прлоскостями сборки

которые пользователь последовательно выберет в процессе вставки (выполнения макроса)

Share this post


Link to post
Share on other sites

как вставить деталь в сборку с совмещением 3-х плоскостей (названных 1 2 3) с тремя прлоскостями сборки

которые пользователь последовательно выберет в процессе вставки (выполнения макроса)

Макрос заменить всего 2 нажатия левой кнопки.

Share this post


Link to post
Share on other sites

У меня вопрос.

подскажите команды макроса что-бы

как вставить деталь в сборку с совмещением 3-х плоскостей (названных 1 2 3) с тремя прлоскостями сборки

которые пользователь последовательно выберет в процессе вставки (выполнения макроса)

Версию SW не указал...

делал я как-то что-то подобное:

<noindex>http://www.pogruzka.com/julio/swprog/assem...oolssca/faq.php</noindex>

Share this post


Link to post
Share on other sites

Да не работает погрузка уже давно

Share this post


Link to post
Share on other sites

Нашёл в Tutorial как связаться с выбранным объектом, но он должен быть выбран заранее

А как сделать что-бы выбирался в процессе.

SW2009

Share this post


Link to post
Share on other sites

Нашёл в Tutorial как связаться с выбранным объектом, но он должен быть выбран заранее

А как сделать что-бы выбирался в процессе.

SW2009

По крайней мере до версии SW2007 API SW не поддерживает интерактивный метод работы.

И сомневаюсь, что в 8 или 9-й версиях что-то изменилось.

Т.е. нет метода, позволяющего сделать паузу для выбора объекта.

Тут надо макрос как-то по-другому строить:

например, на форме (которую выводит макрос) создать кнопку "добавить выбранный объект", при нажатии на которую будет осуществляться такая операция...

Share this post


Link to post
Share on other sites

По крайней мере до версии SW2007 API SW не поддерживает интерактивный метод работы.

И сомневаюсь, что в 8 или 9-й версиях что-то изменилось.

Т.е. нет метода, позволяющего сделать паузу для выбора объекта.

А как насчёт Events? Примером тому макрос RecordDimM, который проверяет выбранный объект и если это размер то зачитывает его параметры в окно макроса. Допускаю, что не совсем понял о чём речь.

Share this post


Link to post
Share on other sites

А как насчёт Events? Примером тому макрос RecordDimM, который проверяет выбранный объект и если это размер то зачитывает его параметры в окно макроса. Допускаю, что не совсем понял о чём речь.

ИМХО, речь как раз об этом.

Я сознательно не упомянул об этом методе, т.к. насколько я понял, автор вопроса еще не совсем владеет API SW в полной мере.

Share this post


Link to post
Share on other sites

ID: 1471   Posted (edited)

Я пока мало что понимаю.

Даже не могу разобраться как поправить макрос (созданный с помощью записи), чтобы совмещал выбранные (можно и до запуска объекты) например три плоскости.

boolstatus = Part.Extension.SelectByID2("1@Д1-8@Rama1", "PLANE", 0, 0, 0, True, 1, Nothing, 0) - это выбор плоскости из дет Д1

'boolstatus = Part.Extension.SelectByID2("Front Plane@Prof1-1@Rama1", "PLANE", 0, 0, 0, True, 1, Nothing, 0) - это выбор плоскости в сборке !!! как эту плоскость заменить на мною выбранную ( пусть до запуска макроса)

Set myMate = Part.AddMate2(0, 0, False, 0.1020583161465, 0, 0, 0.001, 0.001, 0.001, 0, 0.5235987755983, 0.5235987755983, longstatus, 0, 0, 0, 0, 0, 1, False, False, False, False) - это создание сопряжения для ранее выбранных (плостостей)

в помощи про подсвешник нашел только

Set SelectedObject = Part.SelectionManager.GetSelectedObject6(1, 0) - но что это и как оно работает не понятно

Помогите Въехать...

как эту плоскость заменить на мною выбранную ??

и как поступать если мне нужно совместить не одну а сразу 3 плоскости и две ещё переопределить.

Edited by FoxTol

Share this post


Link to post
Share on other sites

в помощи про подсвешник нашел только

Set SelectedObject = Part.SelectionManager.GetSelectedObject6(1, 0) - но что это и как оно работает не понятно

Помогите Въехать...

Со справкой по API-интерфейсу не пробовали ознакомится? Русской справки по API-интерфейсу нет и не ожидается...

Share this post


Link to post
Share on other sites

Нашёл в Tutorial как связаться с выбранным объектом, но он должен быть выбран заранее

А как сделать что-бы выбирался в процессе.

SW2009

Забыл спросить: что это за Tutorial ?

Это что, Tutorial конкретно по API SW ?

Это новое в SW2009 ?

У меня SW 2007 - до сих пор видел/пользовался только Help`ом по API SW.

Share this post


Link to post
Share on other sites

Со справкой по API-интерфейсу не пробовали ознакомится? Русской справки по API-интерфейсу нет и не ожидается...

Пробовал, но не особо понятно

Забыл спросить: что это за Tutorial ?

Это что, Tutorial конкретно по API SW ?

Это новое в SW2009 ?

У меня SW 2007 - до сих пор видел/пользовался только Help`ом по API SW.

Да в 2009 есть интерактивный урок как создавать и редактировать макрос

Share this post


Link to post
Share on other sites

Я пока мало что понимаю.

Даже не могу разобраться как поправить макрос (созданный с помощью записи), чтобы совмещал выбранные (можно и до запуска объекты) например три плоскости.

....

....

Судя по всему Вы используете VBA (Visual Basic for Application) ?

А встроенный в SW редактор макросов используете?

Что такое режим отладки (Debug) знаете?

Вообще, опыт в программировании какой-нибудь есть?

PS. в Help`e по API SW есть масса примеров, но, конечно, все по англ.

Как, кстати, с англ. языком?

Есть также много других сайтов с примерами(работающими)...

Share this post


Link to post
Share on other sites

ID: 1476   Posted (edited)

Судя по всему Вы используете VBA (Visual Basic for Application) ?

А встроенный в SW редактор макросов используете?

Записываю макрос

потом

Инструменты -> Макрос -> редактировать

далее выбираю файл с названием файла

И открывается текст в Microsoft Visual Basic (видимо это и есть встроенный)

PS. в Help`e по API SW есть масса примеров, но, конечно, все по англ.

Есть также много других сайтов с примерами(работающими)...

У меня есть опыт програмирования VB для EXEL

Взял примерчик в фелпе то что нашёл по сборкам

(Add Component and Mate Example) макрос вставляет , и совмещает .

а как сделать выбор элемента и использовать его в процедуре добавления совмещения?

Подскажите сайты... с работающими примерами

Edited by FoxTol

Share this post


Link to post
Share on other sites

Записываю макрос

потом

Инструменты -> Макрос -> редактировать

далее выбираю файл с названием файла

И открывается текст в Microsoft Visual Basic (видимо это и есть встроенный)

У меня есть опыт програмирования VB для EXEL

Подскажите сайты

Где конкретно примеры в фэлпе ?

Запускаем Help Api SW, закладкa "содержание" :

- SolidWorks API Help-> Examples and Projects"

- последняя строчка - видим: "SolidWorks API Sample Projects"

И в описаниях очень многих функций API SW есть кнопочка "Examples".

Или:

<noindex>http://www.solidworks.com/sw/support/APIDownloads.html</noindex>

ну и есть еще масса сайтов...

Share this post


Link to post
Share on other sites

Я пока мало что понимаю.

Даже не могу разобраться как поправить макрос (созданный с помощью записи), чтобы совмещал выбранные (можно и до запуска объекты) например три плоскости.

boolstatus = Part.Extension.SelectByID2("1@Д1-8@Rama1", "PLANE", 0, 0, 0, True, 1, Nothing, 0) - это выбор плоскости из дет Д1

'boolstatus = Part.Extension.SelectByID2("Front Plane@Prof1-1@Rama1", "PLANE", 0, 0, 0, True, 1, Nothing, 0) - это выбор плоскости в сборке !!! как эту плоскость заменить на мною выбранную ( пусть до запуска макроса)

Set myMate = Part.AddMate2(0, 0, False, 0.1020583161465, 0, 0, 0.001, 0.001, 0.001, 0, 0.5235987755983, 0.5235987755983, longstatus, 0, 0, 0, 0, 0, 1, False, False, False, False) - это создание сопряжения для ранее выбранных (плостостей)

в помощи про подсвешник нашел только

Set SelectedObject = Part.SelectionManager.GetSelectedObject6(1, 0) - но что это и как оно работает не понятно

Два простеньких примера. Процедура main1 создает сопряжение по двум выбранным до запуска макроса плоскостям. Процедура main2 выбирает плоскости програмно. В функции SelectByID2 имена плоскостей мои, вам нужно записать свои.

Option Explicit

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swAssembly As SldWorks.AssemblyDoc

Dim swSelMgr As SldWorks.SelectionMgr

Dim swMate As SldWorks.Mate2



Dim i As Integer

Dim bres As Boolean



Sub main1()

	Set swApp = Application.SldWorks

	Set swModel = swApp.ActiveDoc

	Dim docType As Long

	docType = swModel.GetType

	

	If docType <> swDocASSEMBLY Then '  если не сборка то выходим из процедуры

		Exit Sub

	End If

	

	Set swSelMgr = swModel.SelectionManager

	

	Dim selCount As Long

	selCount = swSelMgr.GetSelectedObjectCount

	If selCount <> 2 Then Exit Sub ' если выбрано не 2 объекта, то выходим из процедуры

	

	Dim bres As Boolean

	Dim selType As Long

	For i = 1 To selCount

		selType = swSelMgr.GetSelectedObjectType(i)

		If selType <> swSelDATUMPLANES Then Exit Sub ' если выбрана не плоскость, то выходим из прцедуры

	Next i

	Dim mateError As Long

	mateError = -1

	Set swAssembly = swModel

	Set swMate = swAssembly.AddMate3(swMateCOINCIDENT, swMateAlignALIGNED, True, 0, 0, 0, 0, 0, 0, 0, 0, False, mateError)

	swModel.ForceRebuild3 False

	

End Sub



Sub main2()

	Set swApp = Application.SldWorks

	Set swModel = swApp.ActiveDoc

	Dim docType As Long

	docType = swModel.GetType

	

	If docType <> swDocASSEMBLY Then

		Exit Sub

	End If

	swModel.ClearSelection2 True

	bres = swModel.Extension.SelectByID2("Plane1@Part1-1@Assem1", "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)

	If bres = False Then Exit Sub

	

	bres = swModel.Extension.SelectByID2("Plane2@Part2-1@Assem1", "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)

	If bres = False Then Exit Sub

	Dim mateError As Long

	mateError = -1

	Set swAssembly = swModel

	Set swMate = swAssembly.AddMate3(swMateCOINCIDENT, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, mateError)

	

	swModel.ForceRebuild3 False



End Sub

P.S. Вопрос не по теме, как мне кажется. Здесь выкладывают готовые макросы и вопросы по ним, а не по API. Для этого есть другой топик.

Share this post


Link to post
Share on other sites

P.S. Вопрос не по теме, как мне кажется. Здесь выкладывают готовые макросы и вопросы по ним, а не по API. Для этого есть другой топик.

Спасибо за пример. Жалко, но не всё открывается из того что выложенно (Примеров правда не хватает ) . А разве по API есть топик? (то что есть не совсем по API)

Share this post


Link to post
Share on other sites

Пробовал этот макрос (OsnavnayNadpis_V1.0_Release) с вложенной функцией простановки неуказаной шероховатости, ничего не получается, матерится SW2008. Как решить проблему кто знает?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • averome
      так, тогда полную постановку задачи с картинками, а то получается какой то не понятный случай рассматриваем. То нагрузка с боку, то нагрузка вертикальная, то она сосредоточенная, то нет, то стержень это вовсе не стержень, а механизм какой то скинул для примера, как самый очевидный способ...   Можно предположить, что когда нагрузка будет боковая, то стержень будет терять устойчивость с протеканием пластики, т.к. будет меняться форма сечения, а следовательно, реакция в опоре должна снизиться или увеличиться в зависимости как было задано смещение. Т.к. изменится плечо приложенной силы. Так же возможно образование пластического шарнира, который по идее, разгрузит конструкцию... Но опять же нужна адекватная постановка задачи, что бы мы все видели условие, а то и так же постоянны как погода в Мурманске, вечно хреновая...
    • Ljo
      Так вы определитесь что вы хотите построить. Если конус, то и стройте методом вращения вокруг оси, а если поверхность с разными направляющими, то указывайте полные данные для построения, а не "пусть как-нибудь сам построит, как у меня в голове придумано". Можете задать зависимость параметров перемещаемого профиля от перемещения.
    • Борман
      Спасибо. Но тут речи идет просто о вариационном принципе Лагранжа. В этими выкрутасами с полной потенциальной энергией все понятно. Вы намекаете на то, что только оценка энергии может сказать нам, по какую сторону от т.б. мы находимся ?   Почему ? Вовсе нет. Если мы жестко нагрузили боковым смещением, то кроме боковой реакции больше ничего не будет. Под жесткм нагружением стержень находится в равновесии и сумма сил равна сумме реакций, так что ничего необычного в реакции на опоре не будет.   Два предложения противоречат друг другу.   Походу у меня не получается ясно обозначить свои идеи и мысли. Будем работать над примером в виде котенка.  
    • Sakhalin_cat
      Здравствуйте коллеги.
      Выручите кабелями или разьемами, может у кого в мусоре завалялись огрызки от старых ЧПУ 80-х годов
      Редиски потеряли 3кабеля от сервы при перевозке. Тахо, серва и энкодер. 
      Прям жесть как надо.
      Один разьем на фото, остальные завтра сфотаю.
      Спасибо.
    • soklakov
      я считаю, что оно не боковое, а условно произвольное. в случае для стержня оно вообще будет сжимающим. а для не стержня - это нагрузка, которая может привести к потере устойчивости. необязательно сжимающая, но и не совсем любая. и мы смотрим реакцию в том узле, за который жестко грузим. реакция эта будет получаться в том направлении, в котором жестко грузим. и при критической нагрузке эта реакция будет равна критической нагрузке. внезапно, да?
    • SlaviKa
      окружность на одной плоскости, направляющие на перпендикулярной плоскости. вот примеры:   На второй группе картинок профиль, который с широкой стороны - оригинал. с узкой - результат протягивания. т.е. хорда меняется, а относительная толщина нет...
    • Алексей15
      Привет. Скинь чертёж на почту. Посмотрим.  aleksden15@mail.ru
    • bri
      Процесс сдвинулся) теперь вот это выскакивает
    • Надежда Бал
      Компания «Нанософт», ведущий российский разработчик и дистрибьютор программного обеспечения для проектирования, приняла участие в BIM-форуме 2019 – III ежегодном международном форуме, посвященном цифровым технологиям в проектировании и строительстве.   2000 представителей строительной отрасли приняли участие в мероприятии. 70 докладчиков – проектировщиков, архитекторов, строителей, девелоперов, производителей ПО – представили участникам свое видение будущего BIM-технологий.   Управление жизненным циклом объектов строительства, переход на BIM-мандат для государственного заказа и государственной экспертизы, BIM в промышленности и жилищной политике – вот лишь некоторые темы, которые обсуждали российские и зарубежные эксперты.   Работа одной из секций была посвящена концепции Open BIM. Информационная модель потребуется на всех этапах многолетнего жизненного цикла здания: от инженерных изысканий, проектирования и строительства до эксплуатации, реконструкции и сноса. Чрезвычайно важно, чтобы один участник этого процесса смог продолжить работу другого, чтобы десятки проектных и архитектурных бюро, сотни подрядчиков понимали друг друга, взаимодействовали и корректно обменивались информацией. Как десяткам и сотням компаний, использующим разное программное обеспечение, найти общий язык? Смотреть запись круглого стола «Open BIM: в поисках универсального цифрового языка»     Возможность использования программных продуктов различных вендоров – вопрос выживания самой концепции BIM. А будущее – за открытыми форматами цифрового взаимодействия. К такому мнению пришли участники круглого стола «Open BIM: в поисках универсального цифрового языка». В обсуждении приняли участие компании «Нанософт», GRAPHISOFT, Renga Software, «Юнидрафт» и другие.   На круглом столе обсуждались многие проблемы, которые стоят сегодня перед софтверными компаниями и их пользователями. Дискуссия далеко не закончена. Но скорость, с которой развиваются открытые форматы, позволяет быть уверенным, что именно IFC станет инструментом, который исключит малейшую возможность монополии того или иного вендора. «Мы живем в эпоху революции. Безусловно, во многих случаях бумага всё еще удобнее, но IFC как цифровой формат передачи информации позволяет автоматизировать многие процессы, принципиально изменив технологии проектирования», – отметил директор по развитию компании «Нанософт» Денис Ожигин.   Проектные организации, прошедшие через Open BIM интеграцию, уже сейчас получили важное преимущество: теперь ни у кого из них не будет проблем с передачей BIM-модели в МГЭ и другие государственные органы. Очевидно, что государство не захочет работать с несколькими форматами – почти со 100%-ной вероятностью оно будет требовать формат IFC. «Возможность добровольно предоставлять органам госэкспертизы проектную документацию в виде BIM-модели появится в начале или середине следующего года», – отметила на форуме замдиректора ФАУ «ФЦС» Карина Тельянц. По ее словам, сроки обязательного перехода на BIM в сфере госзаказа намечены на 2022-2024 годы.   Безусловно, производителям ПО нужно расширять инструментарий для моделирования и параметризации элементов: чем больше проектировщик сможет предусмотреть, тем точнее можно рассчитать и спланировать строительство. В свою очередь, это требует постоянного диалога производителя ПО и пользователей. Форум сделал шаг и в этом направлении – его участники познакомились не только с сегодняшними возможностями наиболее популярных софтверных продуктов для проектирования, но и с самими разработчиками.   Мысль организовать BIM-форум родилась три года назад в «День инноваций в архитектуре и строительстве». «Мы стали замечать, что в этом событии все больше и больше залов посвящается BIM, все больше профессионалов стали участвовать в обсуждении этой темы, – рассказывает Ксавье Дюмулье (Xavier Dumoulie), генеральный директор организатора форума, компании «Ради Дома – Batiactu groupe». – Что же, мы решили отдать BIM свою площадку и два дня на обсуждение! И не прогадали. Сегодня здесь вся Семья с большой буквы: от проектировщиков и архитекторов до управляющих зданиями, строителей, девелоперов, заказчиков и представителей власти. Мне кажется, что BIM-форум собрал абсолютно всех».   Open BIM взаимодействие: практические примеры объединения моделей, выполненных в различных программных продуктах, в сводные модели на основе формата IFC (Денис Ожигин, «Нанософт»)
      Смотреть видео Open BIM: мировой опыт использования открытого подхода, перспективы в России (Николай Землянский, GRAPHISOFT)
      Смотреть видео Анонс ARCHICAD 23: новые инструменты для открытого взаимодействия и уникальные возможности ведущего BIM-решения (Кирилл Кондратенков, GRAPHISOFT)
      Смотреть видео Технологии трехмерной оцифровки на разных этапах жизненного цикла: примеры проектов (Сергей Котельников, Hexagon)
      Смотреть видео О компании «Нанософт» Компания «Нанософт», созданная в 2008 году, ориентируется на инновационные методы разработки и распространения программного обеспечения для проектирования. Основная цель компании – создание доступной отечественной САПР. «Нанософт» создает условия для массового перехода от использования нелицензионного программного обеспечения САПР к 
      Партнерская сеть компании насчитывает более 150 дилеров, специализирующихся на продаже и внедрении программных продуктов для российских инженеров-проектировщиков.
      Более подробная информация – на сайте компании: www.nanocad.ru
    • averome
        ... согласен с этим   т.е. по сути мы знаем вертикальную нагрузку на стрежень и можем определить реакцию опоры стержня, и если у нас реакция отличается от предсказываемой, то со стержнем что то не так. Т.к. мы знаем одну компоненту, а именно по продольной оси, и по идее только одна и должна быть, если стержень в устойчивом состояние