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

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


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

До действия макроса

<noindex>Изображение</noindex>

После действия

<noindex>Изображение</noindex>

А должно быть

<noindex>Изображение</noindex>

:sad:

Использую SW2007

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


А вот переменные для этого типа размеров это вобще тёмный лес и даже искорки не видно.

Зато если научится ими пользоваться будем иметь параметрическую связь с моделью. А не то что сейчас.

Keyno Понятнее не стало.

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

Keyno

Теперь понял. Все просто. У вас разделитель целой и дробной части точка, а не запятая, как положено. Сделаете запятую все будет нормально. И, как я понял, это проявляется только при редактировании размеров набитых ранее вручную?

Хотя все равно глюк, постараюсь исправить.

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

А где меняется разделитель, чё-то сразу не нашёл... По умолчанию стоит точка :sad:

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

А где меняется разделитель, чё-то сразу не нашёл... По умолчанию стоит точка :sad:

В региональных настройках виндов

Тем, кто не задолбался качать новые версии макроса посвящается:

RecordDimM_4.4.rar

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

_Leon_ ты п росто гений, спасибо огромное!!! При изменении в виндовых настройках разделителя в SW2007 SP4 он не меняется. Но после исправления это вроде как и не актуально.

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

Всем привет. Есть вопрос по поводу VBA. Задача следующая-нужно написать прогу или откорректировать макрос,который бы из определенной папки,которую можно задавать, вставлял простые детали в чертеж с определенной ориентацией.. Я записал макрос на 3 детали,пытался что-то изменить,но не получилось,так как в VBA-я полный профан. Вот кстати и сам макрос-

Dim swApp As Object

Dim Part As Object

Dim SelMgr As Object

Dim boolstatus As Boolean

Dim longstatus As Long, longwarnings As Long

Dim Feature As Object

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

Set SelMgr = Part.SelectionManager

Dim DrawView As Object

Set DrawView = Part.CreateDrawViewFromModelView2("D:\Рабочие документы\Проекты\П2800\Пс3.SLDPRT", "*Снизу", 0.04, 0.25, 0)

boolstatus = Part.Extension.SelectByID2("Чертежный вид38", "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0)

boolstatus = Part.ActivateView("Чертежный вид38")

Set DrawView = Part.CreateDrawViewFromModelView2("D:\Рабочие документы\Проекты\П2800\Пс4.SLDPRT", "*Снизу", 0.07, 0.25, 0)

boolstatus = Part.Extension.SelectByID2("Чертежный вид39", "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0)

boolstatus = Part.ActivateView("Чертежный вид39")

Set DrawView = Part.CreateDrawViewFromModelView2("D:\Рабочие документы\Проекты\П2800\Пс5.SLDPRT", "*Снизу", 0.1, 0.25, 0)

boolstatus = Part.Extension.SelectByID2("Чертежный вид40", "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0)

boolstatus = Part.ActivateView("Чертежный вид40")

Set DrawView = Part.CreateDrawViewFromModelView2("D:\Рабочие документы\Проекты\П2800\Пс6.SLDPRT", "*Снизу", 0.14, 0.25, 0)

boolstatus = Part.Extension.SelectByID2("Чертежный вид41", "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0)

boolstatus = Part.Activa

teView("Чертежный вид41")

End Sub

Буду рад любой помощи.

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

Буду рад любой помощи.

<noindex>http://support.solidworks.ru/forum/index.p...amp;#entry11667</noindex>
Ссылка на сообщение
Поделиться на других сайтах

Leon, нашел в RecordDimM 4.4 замечательный глюк.

1. Не выделяем размеры.

2. Запускаем макрос - пишет "Выберите один размер".

3. Закрываем макрос НАЖАВ НА КРЕСТИК.

4. Выделяем размер и запускаем макрос.

5. Макрос не запускается.

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

Leon, нашел в RecordDimM 4.4 замечательный глюк.

Оказывается он был и в 4.3 Приходится перегружать Солид

Leon сейчас окно макроса фиксировано в углу

При экране 24" это вызывает дискомфорт. Отцепить теперь уже никак?

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

При изменении в виндовых настройках разделителя в SW2007 SP4 он не меняется.

Есть еще про разделитель в Инструменты, Параметры, Настройки пользователя, Общие, Использовать системный разделитель для размеров. У меня там стоит птичка.

Leon, нашел в RecordDimM 4.4 замечательный глюк.

Да, крестик обрабатывается не корректно. Лучше им не пользоваться, а нажимать Отмена. Но я посмотрю что можно сделать.

Leon сейчас окно макроса фиксировано в углу

При экране 24" это вызывает дискомфорт. Отцепить теперь уже никак?

Как вы из начальства такие мониторы вынимаете? Я еще с 19'' телевизором сижу. И с Радеоном 9600.

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

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

"Фиксировано" - я неверно выразился. Имелся ввиду запуск в левый верхний угол

Может ошибаюсь но вроде старые версии открывали окно в центре (придется привыкать)

А с обновлением техники у нас вопросов нет... конечно если это обосновано и нужно для дела

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

Да, крестик обрабатывается не корректно. Лучше им не пользоваться, а нажимать Отмена. Но я посмотрю что можно сделать.

Поскольку работа программы, это запуск класса, то выгрузка формы не приводит к остановки программы. Если необходимо остановить программу, в текст кода формы нужно дописать:
Private Sub UserForm_Terminate()

Unload Me

End

End Sub
Если выгрузка программы всё же не требуется то, там же в UserForm_Terminate, переменной "m" задать значение отличное от единицы. Хотя это не логично ОТМЕНА выгружать, а крестиком оставлять, на мой взгляд более логичное название этой кнопки, ЗАКРЫТЬ или ВЫХОД, а если это всё же ОТМЕНА то будет логичнее перезачитать параметры размера. Так же привычным названием кнопки сохраниения действий считаю: ПРИМЕНИТЬ (Apply).

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

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

Может ошибаюсь но вроде старые версии открывали окно в центре (придется привыкать)

Чтобы окно открывалось в центре экрана можно найти в коде класса: "Private Sub ShowFrm()" и добавить строку: "FrmRecordDimM.StartUpPosition = 2", получится следующее:
Private Sub ShowFrm() ' Отображение формы

Debug.Print "Отображение формы"

FrmRecordDimM.StartUpPosition = 2

If m1 = 1 Then

	FrmRecordDimM.Left = FormLeft

	FrmRecordDimM.Top = FormTop

End If

If m = 1 Then

	FrmRecordDimM.UserForm_Activate

Else

	FrmRecordDimM.Show

End If

m = 1

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

Поскольку работа программы, это запуск класса, то выгрузка формы не приводит к остановки программы. Если необходимо остановить программу, в текст кода формы нужно дописать:

Код

Private Sub UserForm_Terminate()

Unload Me

End

End Sub

Спасибо, Kelny, за советы ))). Все так и есть. На самом деле в тексте макроса уже есть этот код, но он не активен. Желающие могут найти его и убрать ' в начале строк. Я добавил его, но потом почему-то выключил когда боролся с каким-то глюком.

Про названия кнопок подумаю.

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

Да, но тогда мы все равно придем к фиксированному месту появления окна макроса. Чтобы запомнить последнее место появления все равно нужен внешний носитель. Не вижу ничего страшного в файле с настройками.

Чтобы окно открывалось в центре экрана можно найти в коде класса: "Private Sub ShowFrm()" и добавить строку: "FrmRecordDimM.StartUpPosition = 2", получится следующее:

Либо изменить свойство StartUpPosition в свойствах формы.
Ссылка на сообщение
Поделиться на других сайтах

Может кто-нибудь подскажет, возможно ли создавая спецификацию в файле Exel и затем сохраняя ее, связать ее с исходной сборкой и при каждом изменении деталей автоматом и менялась спецификация?

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

Попробовать то можно, но к сожалению в нём не всё настраивается: C:\Program Files\SolidWorks\lang\russian\calloutformat.txt (есть ещё calloutformat_2.txt, вроде не используется).

А вот с количеством проблемы, количество ставится в формате: #X, например 2X (вроде можно выбрать, большим или маленьким будет Х, в настройках документа). А вот переменные для этого типа размеров это вобще тёмный лес и даже искорки не видно.

Хочу доложить широкой общественности о своих изысканиях в области простановки размеров через "Условное обозначение отверстия". Вот два примера:

post-2822-1188407238_thumb.pngpost-2822-1188407255_thumb.png

Оба размера полностью параметрические, в том числе и количество (5 отв.). Стрелки можно убрать и вывернуть внутрь, тогда будет почти полное соотвествие ГОСТ 2.318.

ИМХО Мастер Kelny немного преувеличил, говоря про темный лес и про отсутствие искорки. Структура файла calloutformat.txt достаточно понятна, а в конце его описаны все используемые в нем переменные. Размер на рисунке слева получен мной после замены в файле текста

TAP-BLIND(ctcsns)=<MOD-DIAM> <hw-tapdrldia> <HOLE-DEPTH> <hw-tapdrldepth>;\

<hw-threaddesc> - 6H <HOLE-DEPTH> <hw-threaddepth>;\

<HOLE-SINK><MOD-DIAM> <hw-nscsdia> X <hw-nscsang>, <hw-msgnearside>

на текст

TAP-BLIND(ctcsns)=M<hw-threaddia>-6Hx<hw-threaddepth>-<hw-tapdrldepth>/<MOD-DIAM><hw-nscsdia>x<hw-nscsang>

Так что, если потратить время и настроить записи для всех видов размеров, перечисленных в файле, то будем иметь обозначения размера по ГОСТ изменяющееся при изменениях в модели. Но только если отверстие одно! Если отверстий несколько, то автоматом перед обозначением выскакивает количество отверстий в совершенно не гостовском виде #x. Здесь "x" это просто буква, ее можно стереть, а количество задается переменной <NUM_INST>. Ее можно перенести куда угодно в тексте. Вообще текст с переменными позволяет себя редактировать как угодно, их можно переставлять местами, добавлять новые, дописывать свой текст. Дальше при изменениях модели его структура не меняется. Но как избавится от автоматического #x пока не понятно.

Чтобы добится двустрочного отображения размера (как на правом рисунке) нужно использовать <stack>, открытый Великим tigb. Однако использование <stack> в данном типе размера не столь безоблачно как в обычном размере. Пришлось повозиться, пока удалось подобрать нужное заклинание. Вообще использование <stack> в тексте размера, вернее то, что он там работает, скорее баг а не фича. В любой новой версии или даже сервиспаке это может перестать работать или будет работать по другому.

Итак, какие выводы:

1. Получить с помощью "Условного обозначения отверстия" оформленный по ГОСТ параметрический размер можно.

2. Простановка таких размеров не очень удобна, поскольку прихлодится редактировать текст размера в случае нескольких отверстий и для получения двустрочной записи.

В 2005 версии для таких размеров нет часто используемых. Изменилась ли ситуация в следующих версиях не знаю, посмотрите. Если часто используемые появились, то можно воспользоваться ими. Тогда все просто.

Либо, второй путь, писать макрос, наподобие RecordDim.

В любом случае с "Условным обозначением отверстия" не так уж все запущено. Интересно, SWR, предлагает своим пользователям переделанный по ГОСТ файл calloutformat.txt?

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

ИМХО Мастер Kelny немного преувеличил, говоря про темный лес и про отсутствие искорки.

Я не совсем корректно выразился, может я и ошибаюсь, но имелл ввиду, что нет возможности сопоставить эти переменные реальным цифрам получаемым из них (в плане использования в API):

Как работать с CalloutHole и как получить полный текст в исходном виде с переменными так и не понял.

Есть файлик с переменными использующимися в CalloutHole (Excel2002):...

Источник: <noindex>http://fsapr2000.ru/index.php?s=&show...st&p=155173</noindex>

А по поводу calloutformat.txt я знаю, что там всё понятно, даже файлик с расшифровкой переменных приводил (как раз по ссылке). И вроде говорил, что мне проще так поправить, чем лазить в этот файлик...

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

даже файлик с расшифровкой переменных приводил

Да, извини, Kelny, я тот твой пост пропустил. Я с API для CalloutHole еще не разбирался. Но в принципе если есть возможность с помощью API менять текст размера, то больше ничего и не нужно.
Ссылка на сообщение
Поделиться на других сайтах

Копирую в поле найти в теме:

31 SaveAsPDF

и получаю следующие:

Одно или все введенные вами ключевые слова для поиска имеет менее 3 символов, или же вы ввели в качестве ключевого слова недопустимые к поиску слова, такие как 'html', 'img' и т.д. Вернитесь назад и увеличьте количество символов в ключевом слове, либо измените его.

глупый вопрос......ну что поделать....

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • lem_on
      Так описание читать надо, до 2020,прям на странице скачки написано.
    • Guhl
      Теперь, когда кто-то будет себя плохо вести тут, я буду призывать тебя, лемоша. Говорить буду примерно следующее: выводи лемошу! И ты такой выходишь весь из себя  
    • A_1
      Добрый день. При работе станка с системой ЧПУ FMS-3200 в автоматическом режиме на экране выводится текст подпрограмм. Есть ли возможность подавить эту индикацию, так, чтобы был виден текст основной программы?
    • lem_on
      Твое образование деградация называется, в очередной раз убедился. 
    • Nata24
    • Maik812
    • sloter
      Крайняя версия, где этот плагин поддерживается официально - 2020. Дальше, вроде бы, то же можно, но с некими "танцами". Где то попадалось описание - поищите. Если такая задача будет регулярно, то имеет смысл. Если разово - имхо быстрее ручками достичь результата.
    • Guhl
      И не лень тебе, дурачку, писать такую простыню было? Иди, лучше, образование получи
    • aleksejj
      Здравствуйте в принципе вопрос закрыт нашел способы. Уже все на чпу отработали и отшлифовали.
    • BASH_HD
      Здравия желаю, знатоки Фанука, покинувшего Россию. Опишу свою проблему: Имеем станок fanuc robodrill 2008 год.   стойка 31i-А.   4 непрерывные оси имеем.   необходимо еще добавить индексную ось. Ладдер имеет подготовку под 5 ось.  Но он видимо универсальный под все рободриллы, а они есть пятиосевые. по дескрипшенам на стойку она поддерживает до 20 осей (4 непрерывных)  и то и другое это опции.   опция расширения от 3 базовых до 4 очевидно уже установлена. но в описании два варианта:   1 вариант:  Controllable axes expansion (each path) (including PMC axes and Cs axes)   2 вариант   Simultaneously controlled axes expansion (each path)   непонятно установлены оба пакета или последний. как они работают взаимо-дополняют друг друга или исключают. Никакой документации по названию опций и как определить какие именно опции установлены в станке я не нашел.   прикладываю информацию, которая может говорить о установленных опциях:   % SYSTEM CONFIGURATION    1.HARDWARE CONFIGURATION      NAME           ID-1     ID-2   SLOT +-------------+----------+--------+----+   MAIN BOARD       MAIN BOARD   00321 30 0                   CPU CARD     0041E 40 0 70000203          SERVO CARD   0010B 20 1                   PMC MODULE   00700 30 0                   FROM/SRAM    C3/03                       DISPLAY          DISP ID      1010                        OTHERS           MDI ID       02                           B.UNIT ID    00                           2.SOFTWARE CONFIGURATION      SYSTEM     SERIES  EDITION  +------------+--------+--------+   CNC(BASIC)     G143     07.0      CNC(OPT A1)    G143     07.0      CNC(OPT A2)    G143     07.0      CNC(OPT A3)    G143     07.0      CNC(MSG ENG)   G143     07.0      CNC(OPT A21)   G143     07.0      CNC(OPT A22)   G143     07.0      BOOT           60W2     0002      PMC(SYSTEM)    40A2     04.0      PMC(LADDER1)   472I       04      PMC(LADDER2)   472L       02      PMC(LAD DCS)   472J       04      SERVO          90ED     0014      SERVO          90E3     0001      SPINDLE-1      9D80     0008      GRAPHIC        60VH     0005      MACRO EXE2     471Y     0001      MACRO MGI-M    BJ12     0003      CEXELIB        GZ0K     02.0      CEXEAPL        472N     0004      MGILIB         GZ0J     02.5      MGIAPL         BX51     0009      NET CONTROL    656S     0002      EMBED ETHER    656R     0003      DEVNT SOFT     6577     0003      %   есть интересные файлы в папке SYSTEM (помимо всех обычных) NC1A OPT NC2A OPT NC3A OPT NCL1 OPT NCD1 OPT       потому вопрос первый - как понять какие опции касающиеся управляемых осей установлены в данный момент и что они позволяют. (понимаю что шанс 1%, но вдруг уже можно добавить ось без доустановки опций) тогда я сразу приобрету драйв и мотор.    вопрос второй - в нынешней ситуации, когда фанук официально никаких опций продать/установить не может   какие существуют варианты это сделать?  может есть смелые посредники официалы соседних стран, или материнскую плату отправить в другую страну и там прошить или же есть успехи хакерские в этом направлении на просторах нашей родины.   Прикладываю разные файлы со всеми параметрами станка. и системные.  OPR INF  тоже прикладываю, может пригодится. главное в чужую стойку не заливать.   да, можно конечно просто через M-коды управлять. сейчас так и подключаю. но это временный костыль. хочется на родном фанук железе все надежно собрать. FULL_PARAMETER_LIST.prm FULL_PARAMETER_LIST.cncidnum MAINTINF.000 OPRM_INF.000
×
×
  • Создать...