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

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

Как решить проблему кто знает?

Установить версию для SW2007 и, вероятно, выше: http://fsapr2000.ru/index.php?showtopic=6...st&p=151563</a>'>http://fsapr2000.ru/index.php?showtopic=6...p;lt;/a>

Share this post


Link to post
Share on other sites

Может кто-нибудь знает...

Можно ли с помощью api проверить существует ли размер с опеределенным именем?

И почему размеры пропадают, когда проставляются другие?

Share this post


Link to post
Share on other sites

Можно ли с помощью api проверить существует ли размер с опеределенным именем?

Цикл по всем размерам (вот есть макрос пересчёта всех размеров в середину допуска в качестве примера: http://fsapr2000.ru/index.php?s=&show...st&p=145308 ) и проврка имени ( Name = Dimension.Name (VB Get property) или Name = Dimension.FullName (VB Get property) )

И почему размеры пропадают, когда проставляются другие?

1. Возможно проблема с видеокартой или драйверами на неё.

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

3. Возможно, глюк программы, возможно поможет установка сервиспаков.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Двойной клик по элементу отобразит все размеры элемента.

Для того, чтобы отобразить все размеры модели: правой кнопкой мыши в дереве на Примечания-Отобразить размеры элемента и Отобразить примечания

Share this post


Link to post
Share on other sites

Мне не нужно отобразить все размеры. Мне нужно проставить программно конкретные, а потом изменить их.

Share this post


Link to post
Share on other sites

Мне не нужно отобразить все размеры. Мне нужно проставить программно конкретные, а потом изменить их.

У меня бывает нечто подобное: тут надо следить за формой курсора мышки - приобретает ли он вид, характерный для работы с р-рами?

Если да, то проблема скорее всего с видео.

У меня бывает как: проставил р-р, а его и не видно! Но если "поводить" курсором мышки в той зоне, где вроде д.б. находиться р-р, то курсор мышки приобретает вид "размерного" и в такой ситуации - 2-й клик и высвечивается окошко изменения р-ров.

Сам не могу еще разобраться, надо видеодрайвепа подбирать...

PS. какая версия SW , SP ???

У меня SW2007 SP0.0

Share this post


Link to post
Share on other sites

SW 2008 SP0.0

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

Share this post


Link to post
Share on other sites

Это может быть, когда размер ставится в НЕактивном слое - ну может чего рисовали (например разные вспомогательные линии) в каком-нибудь слое...

Затем отлючили этот слой (что бы не мешал), но сменить его забыли - вот размеры и ставятся на него и сразу отключаются...

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

Включите панель "Слой" - что бы видно было...

Share this post


Link to post
Share on other sites

Это не совсем так. У меня все на одном слое. А проблемы когда проставляю размеры программно с помощью api. И там все в одном эскизе и на одном слое.

Share this post


Link to post
Share on other sites

Я просто не пойму могут ли размеры как то удалятся сами...

При ошибочных действиях в вашей программе или изменение ориентации модели в виде на чертеже. Возможно вы что-то удаляете не сняв выделение с размера и удаляете лишнее.

И там все в одном эскизе и на одном слое.

В меню Вид->Отобразить/Скрыть примечания и проверить нет ли скрытых размеров.

Share this post


Link to post
Share on other sites

При ошибочных действиях в вашей программе или изменение ориентации модели в виде на чертеже. Возможно вы что-то удаляете не сняв выделение с размера и удаляете лишнее.

лишнего не удаляю

В меню Вид->Отобразить/Скрыть примечания и проверить нет ли скрытых размеров.

и скрытых размеров нет. даже не знаю с чем связано

Share this post


Link to post
Share on other sites

и скрытых размеров нет. даже не знаю с чем связано

Это по всей видимости видеокарта. У меня такое было. Подбор драйверов к ней, не обязательно новых, думаю проблему решит. Во всяком случае,у меня решило, правда было это года 3 назад.

Share this post


Link to post
Share on other sites

lena_

ИМХО это не видеокарта. При глюке видеокарты ничего бесследно не исчезает. Так, на время. Думается что это глюк API. Я пару раз сталкивался с подобными вещами, когда функция правильная и все должно работать, но не работает. Хотя в другом месте работало. Такое ощущение что комп не успевает отрабатывать операции макроса. В таком случае меняю последовательность операций (если возможно) или вставляю перестраивание (ForceRebuild3).

Share this post


Link to post
Share on other sites

При глюке видеокарты ничего бесследно не исчезает. Так, на время. Думается что это глюк API.

То же ИМХО. DisplayDimension или Dimension в API тоже бесследно исчезнуть не могут, если они существуют. Сколько с ними не работал, ничего не исчезало.

Share this post


Link to post
Share on other sites

lena_

ИМХО это не видеокарта. При глюке видеокарты ничего бесследно не исчезает. Так, на время. Думается что это глюк API. Я пару раз сталкивался с подобными вещами, когда функция правильная и все должно работать, но не работает. Хотя в другом месте работало. Такое ощущение что комп не успевает отрабатывать операции макроса. В таком случае меняю последовательность операций (если возможно) или вставляю перестраивание (ForceRebuild3).

Вот как раз при глюке видео и происходит "бесследное исчезновение"! Взять хотя бы НЕ переключение между буферами видеовывода: объект нарисован, но он находится в неактивном буфере!

Если только явно не применялась функция удаления объекта.

Да и что тут спорить: есть готовый файл, сканирующий ВСЕ размеры детали. Запустить его в режиме отладки и посмотреть есть ли там объект или нет...

Потом, при создании любого примитива в SW ему присваивается уникальный ID.

Вот надо сразу после создания объекта(в данном случае размера) записать этот ID ("Persistent Reference IDs") в файл (или посмотреть в Отладке): нет ID - нет объекта!

И наоборот.

Если это так, значит глюк API или скорее самого SW - надо переустанавливать.

Share this post


Link to post
Share on other sites

Буду разбираться, может и правда что-то с видеокартой, а может и с самим SW.

Share this post


Link to post
Share on other sites

Буду разбираться, может и правда что-то с видеокартой, а может и с самим SW.

А как дела на других ПК с аналогичной конфигурацией?

И вообще с видео: avi, mov и др. показывает нормально?

PS. совет: никогда не ставьте самые последние драйвера для видеокарты

Share this post


Link to post
Share on other sites

Вообще с видео нормально. А на других ПК не пробывала даже, тестировала только на своем пока.

Share this post


Link to post
Share on other sites

%20target="_blank">http://fsapr2000.ru/index.php?showtopic=6...ost&p=92322</a>"] НШ_SW [/url][/b] НШ_SW Программа для простановки неуказанной шероховатости

Не пашет: выдаёт Runtime Error 53.

SW2007SP5.0 чертёж октрыт.

Share this post


Link to post
Share on other sites

Не пашет: выдаёт Runtime Error 53.

SW2007SP5.0 чертёж октрыт.

Имя макроса и имя исполняемого файла должны быть одинаковы, например:

НШ-SW.exe

НШ-SW.swp

Или же отказаться от использования макроса и добавить ссылку на исполняемый файл, например, в панель быстрого запуска операционной системы Windows или куда-нибудь в Пуск операционной системы Windows.

Share this post


Link to post
Share on other sites

Имя макроса и имя исполняемого файла должны быть одинаковы, например:

НШ-SW.exe

НШ-SW.swp

Или же отказаться от использования макроса и добавить ссылку на исполняемый файл, например, в панель быстрого запуска операционной системы Windows или куда-нибудь в Пуск операционной системы Windows.

Уже лучше - окошко загрузилось, но перед этим ошибка "чертёж не загружен" (хотя мой чертёж открыт), потом Run-Time Error 91: "Object Variable or With block variable not set" - жму ОК - окошко закрывается.

Share this post


Link to post
Share on other sites

Уже лучше - окошко загрузилось, но перед этим ошибка "чертёж не загружен" (хотя мой чертёж открыт), потом Run-Time Error 91: "Object Variable or With block variable not set" - жму ОК - окошко закрывается.

Вероятно загружено несколько сессий программы Solidworks. Откройте Диспетчер задач Windows (комбинация клавиш Ctrl+Shift+Esc или Ctrl+Alt+Del) и завершите процессы SLDWORKS.exe.

Share this post


Link to post
Share on other sites

Вероятно загружено несколько сессий программы Solidworks. Откройте Диспетчер задач Windows (комбинация клавиш Ctrl+Shift+Esc или Ctrl+Alt+Del) и завершите процессы SLDWORKS.exe.

Возможно.

Щас заработало :clap_1:

Share this post


Link to post
Share on other sites

Помогите пожалуйста перевести с VB на Delphi

Debug.Assert Not swDim Is Nothing

из макроса:

Option Explicit

Sub main()

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swDim As SldWorks.Dimension

Dim vConfigNames As Variant

Dim vValue As Variant

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swDim = swModel.Parameter("D1@Extrude1")

Debug.Assert Not swDim Is Nothing

Debug.Print "File = " & swModel.GetPathName

Debug.Print " FullName = " & swDim.FullName

Debug.Print " Name = " & swDim.Name

vConfigNames = swModel.GetConfigurationNames

vValue = swDim.GetSystemValue3(swThisConfiguration, (vConfigNames))

Debug.Print " SystemValue = " & vValue(0) * 1000#; "" & " mm"

End Sub

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Извиняюсь, просто в вопросе слишком много избыточной информации и главное в обзор взгляда не вошло. По второй ссылке, пример, перевода кода из VB в Delphi.

А разве в Delphi это не будет иметь следующую структуру:

procedure Foo(Count: Cardinal);

	begin

		Assert(Count < SizeOf(Word));

	end;
Если выражение окажется ложным, появится сообщение об ошибке
Источник: <noindex>http://www.xserver.ru/computer/sredaprogr/bd/1/25.shtml</noindex>

Share this post


Link to post
Share on other sites

Извиняюсь, просто в вопросе слишком много избыточной информации и главное в обзор взгляда не вошло. По второй ссылке, пример, перевода кода из VB в Delphi.

Информации может и много, но спрашивала я про Debug.Assert Not swDim Is Nothing, потому что не пойму как тип данных object из vb перевести в delphi. Мне нужно сделать проверку, что такой объект(размер) существует. Может можно как то проще...

Источник: <noindex>http://www.xserver.ru/computer/sredaprogr/bd/1/25.shtml</noindex>

Спасибо за ссылочку, пригодится :)

Share this post


Link to post
Share on other sites

Помогите кто нибудь. Как все таки правильно перевести строчку Debug.Assert Not swDim Is Nothing.

Share this post


Link to post
Share on other sites

Помогите кто нибудь. Как все таки правильно перевести строчку Debug.Assert Not swDim Is Nothing.

Вероятно так:

Assert(TVarData(swDim).VDispatch <> nil);
Источник: <noindex>http://forum.sources.ru/index.php?showtopic=101213</noindex>

или <noindex>http://www.relib.com/forums/Topic873629-8-1.aspx#bm873724</noindex>

Share this post


Link to post
Share on other sites

Помогите кто нибудь. Как все таки правильно перевести строчку Debug.Assert Not swDim Is Nothing.

А зачем ее переводить? Это функции отладки. В рабочем коде просто введите проверку на существование объекта типа Dimension.

Мне нужно сделать проверку, что такой объект(размер) существует. Может можно как то проще...

Ну например VB

If swDim Is Nothing Then

   Exit Sub

End If

C++

if(swDim == NULL)

  retutn;
P.S. С Delphi не знаком...

Share this post


Link to post
Share on other sites

Всем спасибо за ответы. Помогло.

Правильно было

Assert(TVarData(swDim).VDispatch <> nil);

Share this post


Link to post
Share on other sites

Уважаемый Leon. В Вашем макросе RecordDimM на мой взгляд не хватает записи "N углов" (3 угла). Я буду благодарен, если Вы внесёте это дополнение в макрос.

Share this post


Link to post
Share on other sites

Кто нибудь может подсказать как с помощью api по координатам точки получить ее имя?

Share this post


Link to post
Share on other sites

Superbizon_1980

Может быть достаточно написать 3 места? Очень не хочется ничего там доделывать. Надо все вспоминать, у меня таких случаев с углами не встречается. Кроме того там есть ручной режим (простой размер).

Share this post


Link to post
Share on other sites

Кто нибудь может подсказать как с помощью api по координатам точки получить ее имя?

Что Вы понимаете под словом "точка"? Они разные бывают: точка в эскизе, точка в сплайне...

Для начала посмотрите это (справке SW API):

ModelDocExtension::SelectByID2

Share this post


Link to post
Share on other sites

Может быть достаточно написать 3 места?

Обычно так и делается ... "места" - термин покрывающий множество частных случаев

Share this post


Link to post
Share on other sites

Что Вы понимаете под словом "точка"? Они разные бывают: точка в эскизе, точка в сплайне...

Для начала посмотрите это (справке SW API):

ModelDocExtension::SelectByID2

Точка в эскизе. А функцией что вы написали можно выбрать точку, но не получить ее имя.

Share this post


Link to post
Share on other sites

А можно ли сделать макрос, в котором бы конфигурации деталей назывались бы по габаритным размерам, скажем Деталь_2000х1200х400, где 2000, 1200, и 400 соответственно длина ширина и высота детали. Ну как вариант что бы макрос выводил в таблицу габариты всех деталей. Спасибо.

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.



  • Сообщения

    • Sergei
      Самое главное есть ли чертежи или 3D модели изделий? И есть ли чертежи или 3D модели вот этих деталек пресс-формы? Забудьте про эти ВЛМ, которые Вам здесь советуют. Сейчас полно новых вертикальных ТПА. Какую сумму Вы готовы потратить, чтобы пресс-формы стали рабочие? Не проще ли всё заново? Или забыть.
    • Борман
      Плоская балка, сечение 0,01 х 0,01, от точки (0;0) до точки (1;0.5), 2e11, 0.3. Сила в середине. ГУ на картинке.  
    • traktorbek
      Добрый вечер, уважаемые коллеги! Ситуация следующая, на предприятии не было лицензии, в связи с чем приходилось использовать на тот момент актуальную версию NX10. Сейчас приобретена лицензия на NX12, но вот незадача, тот пост, который прекрасно работал раньше, отказывается функционировать в новой программе. Пост вместе с 3д моделью станка. Раньше добавлялся в NX как станок, а не отдельно постом.   При попытки вызвать станок в 12 версии получаю ошибку, скриншот которой прикреплён к посту. Отдельно пост выбрать в окне постпроцессирования также не возможно, т.к. отсутствует .pui файл.   На предыдущем месте работы таких проблем не возникало, таскали пост с версии 7,5 до 11 без каких либо проблем.   Как то возможно решить сию проблему?
    • Anat2015
      Завод несколько раз переходил из рук в руки, банкротство, переименования, разделение, в общем, весь набор российских бизнес-реалий, но, по моим сведениям, специалисты по сервису и разработчики остались те же. Согласен с Давидом, что вам в первую очередь надо связаться с заводом (вот только с каким?) и запросить Руководство по эксплуатации именно самого станка. По опыту работы со станками 400V есть некоторые нюансы в подходах к включению станка, да и работу с устройством смены инструмента (а какое там стоит - вам надо еще выяснить, у производителя были варианты) надо хорошо себе представлять. Реально вам надо выходить на Стерлитамак М.Т.Е. (те, кто производили станки 400, 450, 500), есть еще ООО "СТАН".
    • sag1979
      Речь про VectorDrive идет, как понимаю. Обращайтесь. 8(9ОЗ)669-35-З4.  
    • hr4d
      А можно полную постановку? Я завтра аналитикой посчитаю. Не тупо по Эйлеру, а по модернизированной методе.
    • Krusnik
      Транспорта дофига, но для использования нужно знать как им пользоваться. Судя по вашим "очень подробным" описаниям вам нужен некий конфигуратор. Но там нужно делать сначала долго мастер-модель, а потом сидеть и шустро клепать конфигурации.   Идея скрывать деталь в подсборке - полное дно.   И готовых советов типа "нажмите вон там" на такое вы тут не получите.
    • karachun
      Графики же подписаны русским языком, сказано где перемещения а где деформации.
    • Bot
      От редакции isicad.ru: До перехода на проектное финансирование строительства остаются считанные дни, однако отношения застройщиков с банками пока ещё толком не выстроились, хотя многие из них пытаются найти общий язык уже достаточно долго. Самая острая и актуальная задача, которую предстоит сегодня решить застройщикам, – это разработка бюджета строительства и построение финансовой модели. Причём бюджет нужно разрабатывать с прицелом на несколько лет, и возможности что-то изменить по ходу практически не будет. Авторы статьи предлагают связать воедино все существующие инструменты – BIM-среду, сметную систему и системы календарного планирования, чтобы начать решать актуальные задачи на принципиально новом уровне. Введение Применение технологии информационного моделирования (BIM) для решения различных задач экономического свойства не является новшеством. Такие задачи, как оценка стоимости капитальных затрат на стадии эскизного проектирования или детальный расчёт сметной стоимости [...] View the full article
    • karachun
      Для Нео-Гуковской модели можно грубо пересчитать mu в модуль упругости. E=mu*3=845*3~2,5 КПа. Это очень очень мало и отмазки про литературу не катят (когда-то один пользователь на этом форуме утверждал что модуль упругости стали 2е-5 МПа и на все возражения отвечал что вычитал это в таблице, оказалось что он в этой таблице запутался и вместо умножения поделил значение в таблице на сто тысяч).