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

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

 API - это то, что открыли для использования разработчики. Если у вас есть метод SaveAs, то он сработает на всех версиях SW начиная с той с которой его ввели. Если у вас есть метод SaveAs3, то даже применив рефлексию с dynamic, вы его не запустите на SW 2003, так как его физически нет в библиотеках SW. Так же, даже если этот метод где-то у разработчиков и зарыт внутри их библиотек, вы тоже не сможете его запустить пока они не "откроют" вам его через API, так работает программирование и так работают экспортируемые функции.

Если же вы попробуете подключить к проекту библиотеки от SW 2022, а SaveAs3 выполнить под запущенным SW2009, то код просто свалится в этом месте, так как он не найдёт этого метода в библиотеках разработчика. Будет что-то вроде NO_INTERFACE

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


Какое-то странное обсуждение, все говорят об одном и том же: приладить новое в старому можно, но нет гарантии, что все будет работать. Как можно утверждать утверждать обратное, если даже на уровне microsoft вносятся глобальные изменения в основные понятия? Вот, например, зачем потребовалось менять имя окна процесса "Microsoft Excel" на просто "Excel"? О какой преемственности "библиотек" может идти речь в данном случае? 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, v-david сказал:

Вот, например, зачем потребовалось менять имя окна процесса "Microsoft Excel" на просто "Excel"?

Некоторые окна и этого имени не имеют, но если есть АПИ имя окна процесса вобщем-то ни к чему, т.к. есть вход с парадного входа.

 

1 час назад, v-david сказал:

О какой преемственности "библиотек" может идти речь в данном случае? 

О приемственности может идит речь, когда программа понимает старый код без изменнений на новой версии.

А вот жизнь меняется постоянно, поэтому постоянно требует движения и изменений, что бы не отставать от настоящего, так что всегда надо что-то подправлять, настраивать, ведь всего каких-то несколько лет наза требовалось оптимизировать программу в память размером в 1-2Мбайта, скоростью процессора в несколько тиков в секунду и хранить всё это на жёстком диске в десятки Мегабайт, а сейчас практически неограниченные ресурсы позволяющие програмистам филонить и создавать огромных монстров не заботясь о сохранении ресурсов. Что уж говорить о 8, 16, 32 бытных системых, которые уже по большому счёту для ПК ушли в прошлое и глядишь не загорами системы X128 или вовсе X1024...

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

ну закройте с "парадного входа" все висящие процессы Excel и заодно свое эксельку, не зацепив другие открытые в этом же окне

Ссылка на сообщение
Поделиться на других сайтах
30.05.2022 в 08:09, v-david сказал:

Какое-то странное обсуждение, все говорят об одном и том же: приладить новое в старому можно, но нет гарантии, что все будет работать.

 

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

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, v-david сказал:

ну закройте с "парадного входа" все висящие процессы Excel и заодно свое эксельку, не зацепив другие открытые в этом же окне

Это вопрос или предложение?

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

Не вопрос и не предложение. Столкнулся с этим, когда надо было поработать с окнами процессов в Windows, поднимать, скрывать, перемещать по экранам причем не только "свое" окно, но и ранее открытые. Не скажу, что это очень сложно, но и не пара строк. Не знаю, что вы имеете ввиду под "парадным входом", но что-то этот процесс мало напоминает его, скорее это backdoor в прямом и переносном смысле..

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, v-david сказал:

поднимать, скрывать, перемещать

Всё это WinAPI + всякие running object table. 

Это никак не соотносится с тем, о чём я писал про SW API.

В SW API помеченные obsolete всё равно работают на последних версиях.

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, v-david сказал:

Не знаю, что вы имеете ввиду под "парадным входом", но что-то этот процесс мало напоминает его, скорее это backdoor в прямом и переносном смысле..

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

Аналогично без WinAPI потребовалось бы на много больше строк, что бы сделать хоть что-нибудь.

 

3 часа назад, v-david сказал:

Столкнулся с этим, когда надо было поработать с окнами процессов в Windows, поднимать, скрывать, перемещать по экранам причем не только "свое" окно, но и ранее открытые.

Говоирить о некой абстрактной задаче как минимум не конструктивно.

Ведь возможно надо было просто выбрать иной подход для решения задачи, а из-за неоптимального решения, как раз и пришлось использовать WinAPI, а не встроенный API приложения. Так же возможно стоило сообщить разработчикам софта о недостающих функциях и тогда возможно в будущем не пришлось идит в обход и можно было бы всё седать через API программы.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...
12.07.2022 в 14:31, Vladimiir сказал:

Добрый день, может кто-нибудь подсказать как изменить размер в эскизе в макросе, на C#.

 

В макросе VBA? Наверное, никак.

 

А для C# есть хелп.

 

 

api_help.JPG

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
14.07.2022 в 18:44, brigval сказал:

 

В макросе VBA? Наверное, никак.

 

А для C# есть хелп.

 

 

api_help.JPG

Про справку знаю, но не могу в ней ничего найти, как только не искал.

Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Vladimiir сказал:

Про справку знаю, но не могу в ней ничего найти, как только не искал.

Так для начала определитесь что и где меняете.

А искать надо по английски:

https://help.solidworks.com/2010/english/api/sldworksapi/change_dimension_example_vb.htm

 

Ссылка на сообщение
Поделиться на других сайтах
26.07.2022 в 23:57, Kelny сказал:

Так для начала определитесь что и где меняете.

А искать надо по английски:

https://help.solidworks.com/2010/english/api/sldworksapi/change_dimension_example_vb.htm

 

для C# во встроенном хелпе тоже есть

 

Скрытый текст

dim.JPG

 

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

День добрый.

Подскажите, есть ли возможность  средствами SW API в WeldSymbol добраться,  (т.е. задать новые значения) до текстовых полей, извлекаемых по методам WeldSymbol.GetTextAtIndex( int index )  (поля из обозначения сварки при установленном стандарте ГОСТ)?

Ну и до кучи, как в WeldSymbol задать другой стиль стрелки выноски ?

Ссылка на сообщение
Поделиться на других сайтах
57 минут назад, nicomed сказал:

День добрый.

Подскажите, есть ли возможность  средствами SW API в WeldSymbol добраться,  (т.е. задать новые значения) до текстовых полей, извлекаемых по методам WeldSymbol.GetTextAtIndex( int index )  (поля из обозначения сварки при установленном стандарте ГОСТ)?

Ну и до кучи, как в WeldSymbol задать другой стиль стрелки выноски ?

У меня не получилось.

Использую символ сварки для склейки и пайки.

Группирую символ сварки с заметкой, что было красиво, и программно текст (номер пункта ТТ) правлю в заметке.

 

Скрытый текст

ппп.JPG

 

Ссылка на сообщение
Поделиться на других сайтах
12.07.2022 в 14:31, Vladimiir сказал:

как изменить размер

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

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
04.08.2022 в 16:27, nicomed сказал:

Подскажите, есть ли возможность  средствами SW API в WeldSymbol добраться,  (т.е. задать новые значения) до текстовых полей, извлекаемых по методам WeldSymbol.GetTextAtIndex( int index )  (поля из обозначения сварки при установленном стандарте ГОСТ)?

Для символа по ГОСТ доступ к полям не доступен через API. Можно попробовать поковырять через WinAPI.

 

04.08.2022 в 17:40, brigval сказал:

Использую символ сварки для склейки и пайки.

Группирую символ сварки с заметкой, что было красиво, и программно текст (номер пункта ТТ) правлю в заметке.

Если речь об установках электронных компонентов, то там возможно проще блоки использовать, а в блоках на ставится элемент сварка/пайка/наклеивание и соответственно приходится использовать заметку и простой эскиз для значков.

 

Как вариант к заметке дорисовывать эскизы (как бы внутри элемента заметки - API это позволяет), пример:

https://help.solidworks.com/2010/english/api/sldworksapi/create_compound_note_example_vb.htm

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

 

04.08.2022 в 23:07, streamdown сказал:

Первое, чему стоит научиться, это записывать макросы.

В Solidworks часто в записи бывает мало полезного. А вот уже готовые похожие примеры в справке по API попадаются.

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

Добрый день!

Помогите, пожалуйста, с макросом.

 

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

 

Но потом я запустила макрос для детали, у которой нет глобальных переменных и получила имя dxf с глобальными переменными с прошлого запуска!

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

 

Наверное, можно что-то дописать, чтобы reset автоматически происходил? Я пробовала по-разному, закрывать файлы, открывать заново, не влияет на макрос. 

Даже не понимаю, какой вопрос задать товарищу Гуглу?:worthy:

Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, OlgaKubrik сказал:

Наверное, можно что-то дописать, чтобы reset автоматически происходил?

Присвойте переменной отвечающей за глобальные переменные в начале макроса NullString или "":

ВашаПеременная = NullString

 

Или используйте условие IF, если глобальные переменные есть, то запись файла такой строкой, а если нет, то другой.

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Bot
      Расчёт сметной стоимости проекта по любому количеству расценок для вариативной проработки договорной стоимости СМР и выбора подрядчика В новом видео эксперты IYNO на практических примерах показывают, как цифровой подход в стройке помогает сметчикам, инженерам ПТО, СДО и руководителям строительных проектов: быстрее пересчитывать сметы при изменениях в проекте за счет автоматизации рутинных операций; разбить ведомость объемов на лоты с уверенностью, что ни один элемент не будет пропущен или повторно учтен при подаче на тендер; оперативно и без лишних трудозатрат сравнивать между собой различные варианты смет при выборе подрядчика на тендере; сократить разрозненность расчетов и документов, оставаясь в едином информационном поле со всеми участниками строительства. Это видео будет полезным, если вы: считаете ВОР для своего заказчика или для передачи в сметное подразделение; хотите сократить трудозатраты на подсчет и обновление ВОР и СМЕТ; вам нужно [...] View the full article
    • ilinehduard
      У меня делительная головка , сейчас стоит предел оси от 9999 до -9999, а можно заблокировать одну ось (Lock Axis ) , как это можно сделать?
    • vad0000
      В INPUT должен быть активен вход PUMP ON
    • feros2011
      Снижал разгон, не помогало, если делать частые смены вращения шпинделя, то через какое то время вырубается 
    • gudstartup
      это эскиз а надо чертеж с обозначениями резьбы, с допусками размеров, шероховатость поверхности ваших шариков фаски и т.д. размер не бывает 20.00 или R10.00 какие отклонения допустимы?  не понятно даже где отверстие в кубе делать типа наверное по центру можно так предположить но нигде размеров нет. так же  непонятно нужна ли фрезерная обработка куба или можно пилой напилить  и все???
    • Maik812
      Опять не эффективно, а старое им где? а вдруг понадобится, а если просто посмотреть чем заменить, а если как альтернаивную сделать специю или заказ. Короче что лажа это все такое, таблица из 400 например позиций как заполнять долго? А быстро поправить или набить для не программиста? Давно сделал , кому нужно Компас, Солид,и тд.. поменять спецификацию, поменять имя в библиотеке файлов и поиск и тд тп. mPDM закинул данные старые как старое имя или резерное и пользуйся.  
    • заМКАДыш
      Добрый день! При написании программы на токарную обработку в модели имеется фаска 0,1 мм, при попытки построить траекторию появляется ошибка "Невозможно определить регион обработки! Проверьте задание региона обработки: Мин. площадь" (скриншот 1), если фаску делаю 0,2 мм то ошибка пропадает и траектория выстраивается (скриншот 2). Нигде не смог найти параметр "Минимальная площадь". Помогите разобраться как задать минимальную площадь обработки, что бы данная ошибка не вылезала. Заранее благодарю!
    • Ветерок
      Практически всё. Во-первых, отверстия надо делать командой Отверстия, а не вытянутым вырезом. Тогда при размещении центров отверстий не надо ничего проецировать, надо просто привязаться к ответным отверстиям (центрам кромок или к осям). Во-вторых, эту тему лучше разместить в ветке про Солид, а не про детали машин.
    • Viktor2004
      а что из предложенного эскиза непонятно? Там вроде все есть
    • Иван Ларионов
      SW2018. В детали 1 выполнены отверстия. В сборке к ней приставлена деталь 2, в которой надо выполнить отверстия концентрично отверстиям в детали 1. Вызываю в сборке операцию "Редактирование детали" для детали 2. Деталь 2 становится прозрачной, отверстия в детали 1 видны. Выбираю поверхность на детали 2, на которой надо сделать эскиз отверстий. Отверстия в детали 2 не проецируются на выбранную поверхность детали 1. Что я делаю не так?
×
×
  • Создать...