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

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


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

так, сначала были точки, терь сплайны.

и что мешает жмакнуть на точку и изменить её координаты? раз в режиме редактирования эскиза...

мешает их количество. говорю же: Строится профильная поверхность по сечениям. Каждое сечение состоит из 2 сплайнов , каждый сплайн состоит из 25-30 точек заданых координатами . вбивать их врукопашную слишком долго.

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

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


А если попробовать использовать уравнения?

как именно ? между одноименными точками соседних профилей связь абсолютно не прослеживается

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

как именно ?

задавать глобальные переменные.

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

угу?

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

задавать глобальные переменные.

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

угу?

именно так. А форма может быть такой как форма команды "кривая через точки XYZ " только параметра Z там не будет
Ссылка на сообщение
Поделиться на других сайтах

Макрос для макросов)))

позволяет привести код в более наглядную форму

<noindex>http://www.oaltd.co.uk/indenter/default.htm</noindex>

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

Макрос для макросов)))

позволяет привести код в более наглядную форму

<noindex>http://www.oaltd.co.uk/indenter/default.htm</noindex>

ага . пора учить английский ))

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

ejik401

смысл чего хотите понял, не встречал подобного. Но код не очень сложный. Главная задача "распарсить эскиз" на точки.

Если хотите, попробуйте сами:

1. найти первый фичерс в дереве (если дерево большое и нужный фичерс посерёдке - то без интерактива никак, т.е. нужно отлавливать событие какой фичерс selected)

2. У фичерса брать первый эскиз, считать все точки. Тут самое интересное, нужно "привязать" точку к текстбоксу (если его используете)

3. брать второй эскиз, считать все точки

4. написать обратную обработку: преобразование значений текстбокса в точки.

Или вообще другим путем пойти InsertMacroFeature. Но это уже сложно

пора учить английский ))

его уже знать давно пора :wacko:

<noindex>амерский форум</noindex>

<noindex>подходящий топик</noindex>

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

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

буду разбираться. еслии что напишу в личку

ejik401

2. У фичерса брать первый эскиз, считать все точки. Тут самое интересное, нужно "привязать" точку к текстбоксу (если его используете)

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

эээм...ну тогда вообще всё просто))) давать размерам осмысленные имена и уже ими оперировать

Да и вообще, если стоят размеры, то почему бы не использовать средства солида и таблицы параметров?

<noindex>как узнать значение размера, имя которого знаем заранее</noindex>

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

эээм...ну тогда вообще всё просто))) давать размерам осмысленные имена и уже ими оперировать

Да и вообще, если стоят размеры, то почему бы не использовать средства солида и таблицы параметров?

<noindex>как узнать значение размера, имя которого знаем заранее</noindex>

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

Лист_в_222-002-01.rar

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

Нужна помощь!!! Помогите разобраться пожалуйста.

Пытаюсь запустить макросом PDF файл функцией Shell.

Sub main()
Dim procID As Integer
procID = Shell("cmd /c C:\Путь\Имя.PDF")
End Sub

Если в пути и имени файлов нет пробелов все проходит как помаслу, если же в пути есть пробел (что у меня встречается постоянно) - файл не открывается:

1. Как пробелы можно обойти в этой функции и можно ли?

2. Нужно ли назначать переменную "procID" или лучше сразу писать функцию "Shell"?

3. Есть ли другая функция подобная "Shell" запускающая файл не связанный с SW?

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

Нужна помощь!!! Помогите разобраться пожалуйста.

Пытаюсь запустить макросом PDF файл функцией Shell.

Sub main()Dim procID As IntegerprocID = Shell("cmd /c C:\Путь\Имя.PDF")End Sub

Если в пути и имени файлов нет пробелов все проходит как помаслу, если же в пути есть пробел (что у меня встречается постоянно) - файл не открывается:

1. Как пробелы можно обойти в этой функции и можно ли?

2. Нужно ли назначать переменную "procID" или лучше сразу писать функцию "Shell"?

3. Есть ли другая функция подобная "Shell" запускающая файл не связанный с SW?

Несколько непонятно:

1) на чем пишем: VBA или VB (ИМХО, похоже). Но почему ипользуем тогда "чистый API Win32"?

Я бы посоветовал использовать API SW, API 2-й программы, API 3-ей программы и т.д.;

2) какая глобальная цель ?

Оперировать файлами из разных программ, в т.ч. и из SW?

Я все это решал использованием API соответствующих программ.

Где-то была у меня проба: там я сделал общий интерфейс для SW, Excel, AutoCAD и Corel.

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

Несколько непонятно:

1) на чем пишем: VBA или VB (ИМХО, похоже). Но почему ипользуем тогда "чистый API Win32"?

Я бы посоветовал использовать API SW, API 2-й программы, API 3-ей программы и т.д.;

2) какая глобальная цель ?

Оперировать файлами из разных программ, в т.ч. и из SW?

Я все это решал использованием API соответствующих программ.

Где-то была у меня проба: там я сделал общий интерфейс для SW, Excel, AutoCAD и Corel.

1. Пытаюсь писать на VBA для SW. В макросах только-только начал разбираться и функцию для запуска стороннего файла инструментами API SW пока еще не нашел.

2. Глобальная цель - запуск из файла сборки SW уже имеющейся SWR-спецификации одним нажатием на кнопку макроса, а также сохранение чертежа в PDF и его моментальное открытие для просмотра в программе по умолчанию по одному клику. Попытка сократить количество кликов для экономии времени.

Для ясности: имеем сборку, щелкаем создать чертеж, если чертежа нет то открывается менюшка создания чертежа, если чертеж есть то SW спрашивает - открыть существующий чертеж?, то же самое хотелось бы сделать и для SWR-спецификации, если есть - открывается, если нет - то передает данные из сборки.

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

Если кто знает, подскажите пожалуйста в каком направлении двигаться дальше?

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

не знаю как PDF, а вот exe запускаются нормально... Вот, например, из макроса OsnovnayaNadpis_Beta_2.4:

Dim MyAppID As Variant

Dim Sourrce As String

Dim swApp As Object



Sub main()



Set swApp = Application.SldWorks



' Run the custom property application

Source = swApp.GetCurrentMacroPathName			 ' Get macro path+filename

Source = Left$(Source, Len(Source) - 3) + "exe"	' Set source filename



MyAppID = Shell(Source, 1)

AppActivate MyAppID

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

не знаю как PDF, а вот exe запускаются нормально... Вот, например, из макроса OsnovnayaNadpis_Beta_2.4:

Dim MyAppID As Variant

Dim Sourrce As String

Dim swApp As Object



Sub main()



Set swApp = Application.SldWorks



' Run the custom property application

Source = swApp.GetCurrentMacroPathName			 ' Get macro path+filename

Source = Left$(Source, Len(Source) - 3) + "exe"	' Set source filename



MyAppID = Shell(Source, 1)

AppActivate MyAppID

End Sub

Да, согласен, ехе запускаются нормально, pdf проверил - не запускаются. Тут кстати в переменных обьявлена Sourrce вместо Source, хотя это не влияет.

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

2 'alek77'

Вот ИМХО ответ на Ваш вопрос из API SW HELP(т.е. существует три способа запуска):

"

Visual Basic 6.0 Standalone and Add-in Applications

Standalone Applications (.exe files) :

Your project can either attach to a running instance of the SolidWorks software by calling the Visual Basic GetObject method or open a new instance of the SolidWorks software by calling the Visual Basic CreateObject method. Lines of code similar to the following must appear in your project:

1)

Sub main()

Dim swApp as SldWorks.SldWorks

' Attach to running instance of SolidWorks software

Set swApp = GetObject(, "SldWorks.Application")

swApp.ExitApp

Set swApp = Nothing

End Sub

2)

Sub main()

Dim swApp as SldWorks.SldWorks

' Open new instance of SolidWorks software

Set swApp = CreateObject("SldWorks.Application")

swApp.ExitApp

Set swApp = Nothing

End Sub

3) Additionally, you must have added references to the SolidWorks type libraries.

After debugging and testing your executable project, you can:

Create an executable (.exe) file by clicking File, Make <project_name>.exe in the Visual Basic integrated development environment (IDE).

You can run the .exe file independent of the SolidWorks software or you can create a SolidWorks macro that runs the .exe file. For example:

' SolidWorks macro: custom_props.swp

' Purpose: Run Visual Basic application named custom_props.exe

' NOTE: The .exe file and the SolidWorks macro must reside in the same folder.

'

Option Explicit

Dim MyAppID as Variant

Sub main()

' Run the custom property application

MyAppID = Shell("custom_props.exe", 1)

AppActivate MyAppID

End Sub

Copy both the SolidWorks macro and .exe file to <install_dir>\Macros and then assign the SolidWorks macro to a shortcut key, menu, or button.

NOTE: An easy way to create the code to trap SolidWorks events like swPartRegenNotify in a standalone application is to create a new temporary add-in application (see next section) that supports part events. After creating the project for the add-in, copy the code for the part event handler to your application. Be sure to copy the IDL information with the .h and .cpp information.

"

Ваш вариант №3. ИМХО.

Также есть еще: "Add-in Applications в форме *.dll files...

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

Быстрое создание картинки модели .jpg путём нажатия пару клавиш (или сохранение ввиде картинки). Как сделать ? через макрос ? поделитесь идеями. Иногда приходится десятки картинок делать одной модели. Я на данный момент через Меню - сохранить - как файл .jpg. Это долгий процесс. Хотелосьбы сконфигурировать место стандартное для сохранения этих картинок и просто менять виды и нажатием 2ух клавиш сохранять сразу в .jpg в этой папке всегда.

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

cadprofi

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

А мне бы макрос для занесения (желательно массового) свойств Обозначение и Наименование, взятых из имени файла типа АБВ.123.456_Деталь.sldprt. Такое делает MProp, но там нужно каждую деталь открывать. У меня же много деталей БЧ, так что заносить их свойства хочется полуавтоматом.

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

cadprofi

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

Для работы нужен запущенный Солид, прога грузит файлы, делает скрины и пишет в DOC...

Если нужно <noindex>вот</noindex>...

Как работает уже не помню - да, в принципе, там не сложно...

=================

А чем Вас не устраивают стандартные средства снятия скринов (типа - FSCapture или Snagit)???

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...