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

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


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

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

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

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

НШ-SW.exe

НШ-SW.swp

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

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


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

НШ-SW.exe

НШ-SW.swp

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

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

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

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

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

Возможно.

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

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

Помогите пожалуйста перевести с 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

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

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

<noindex>http://www.wmcentre.net/des.php?agent=&id_d=494527</noindex>

<noindex>http://www.delphimaster.ru/cgi-bin/forum.p...3826440&n=8</noindex>

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

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

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

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

Извиняюсь, просто в вопросе слишком много избыточной информации и главное в обзор взгляда не вошло. По второй ссылке, пример, перевода кода из 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>
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Помогите кто нибудь. Как все таки правильно перевести строчку 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>

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

Помогите кто нибудь. Как все таки правильно перевести строчку 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 не знаком...
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

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

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

Superbizon_1980

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

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

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

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

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

ModelDocExtension::SelectByID2

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

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

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

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

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

ModelDocExtension::SelectByID2

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

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

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

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

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

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

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

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

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

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

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

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

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

    • alek77



  • Сообщения

    • Kelny
      Если этой ссылки достаточно для отображения материала и материал уже есть в обозначенной модели, то возможно подойдёт TabBuilder: https://help.solidworks.com/2023/russian/SolidWorks/SWHelp_List.html?id=e68c1877b4fa431483f8c751bd9fcc78&_gl=1*lby1j3*_up*MQ..*_ga*NTEyNjA5NDQ3LjE3MTQxMTU3MzA.*_ga_XQJPQWHZHH*MTcxNDExNTcyOS4xLjEuMTcxNDExNTczNy4wLjAuMA..#Pg0   В старых версиях при написанни ссылок такого радо в некоторых случаях можно было не писать имя файла, а достаточно было вместо имени файла модели оставить ПРОБЕЛ.SLDPRT и имя после этого подставлялось само. Пробовать надо.   Так же можете глянуть макрос по изменению свойств файла (методы и функции там устаревшие, но возможно даже будет работать и можно поковыряться в коде): https://kelnyproject.ucoz.ru/load/6-1-0-8 по програмированию так же есть справка (версию в ссылке поменяйте на свою, что бы справка была актуальна для вашей версии): https://help.solidworks.com/SearchEx.aspx?query=get custom property&version=2010&lang=english,enu&prod=api
    • gudstartup
      только перед обновлением обязательно выполните  все что написано в руководстве и касается сохранения состояния станка и чпу. и обязательно сделайте образ диска и помните что слишком новые версии могут не заработать на вашем чпу относительно безопасно ставить только сервиспаки
    • NordCom
      Большое спасибо! Через это меню удалось зайти в меню. 95148->MOD
    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
    • Bot
      Коллеги, Благодарю вас за интерес к проекту электронной энциклопедии в области инженерного программного обеспечения PLMpedia, который более 15 лет развивался группой компаний ЛЕДАС. Представленный ниже скриншот передаёт содержание и структуру базы данных энциклопедии, накопленной за эти годы: именно такую начальную страницу, можно было до сегодняшнего дня увидеть, придя по адресу https://plmpedia.ru/ В последние несколько лет ЛЕДАС особенно интенсивно и результативно вкладывает все ресурсы в развитие своего основного бизнеса: см. ниже «О компании ЛЕДАС». Сегодня я с некоторым сожалением констатирую, что у компании ЛЕДАС более нет возможности отвлекать ресурсы своих сотрудников на некоммерческий (фактически волонтерский) проект PLMpedia. Вся база данных ресурса может быть безвозмездно передана любому юридическому или физическому лицу с единственным условием: наш преемник должен будет публично объявить о состоявшейся передаче и взятии на себя [...] View the full article
    • gudstartup
      @NordCom  у вас наверное это так происходит читайте этот раздел itnc_530.pdf
    • fenics555
      интересный индус. А нового то чего?
    • gudstartup
      откудова качаете мне интересно?
    • ДОБРЯК
      Совсем забыл про собственные вектора       собственный тон частота           0.013                        1   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00       собственный тон частота       15910.75                         2   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2  -7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00        
    • gudstartup
      так я это и написал
×
×
  • Создать...