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

Скрытые возможности Sw


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

Количество по сборочным единицам, думаю будут проблемы (неправильный подсчет).

Вот я сейчас над этим бьюсь.. СП Навигатор считает точно.. А я в своем макросе не могу правильно посчитать..

 

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

 

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

 

Может лучше оформить таблицу спецификации отдельно для подсборки? Родная табличка солида считает количества.

 

Так речь про чертеж детали..

 

Или может есть нужда писать для каждой детали в какую сборку сколько штук входит?

 

Я чисто теоретически подумал, что кому-то это может пригодиться.. У нас необходимое количество деталей в чертеже не пишут.ю. И ни с нашим цехом, ни со сторонними изготовителями вопросов никогда не возникало..

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


Вот я сейчас над этим бьюсь.. СП Навигатор считает точно.. А я в своем макросе не могу правильно посчитать..
 

Что именно не получается?

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

 

Получаю состав сборки и пытаюсь посчитать количество компонентов (по пути к файлу, конфигурации и пути в сборке) в каждой сборочной единице.. С головной сборкой (нулевой уровень вхождения) проблем нет.. А вот если в нее вставлено несколько одинаковых подсборок, то посчитать сколько в них чего входит не получается.. Впрочем, для данной темы это оффтоп..

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

Получаю состав сборки и пытаюсь посчитать количество компонентов (по пути к файлу, конфигурации и пути в сборке) в каждой сборочной единице.. С головной сборкой (нулевой уровень вхождения) проблем нет.. А вот если в нее вставлено несколько одинаковых подсборок, то посчитать сколько в них чего входит не получается..

 

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

Получается так:

Имя поля: count in assembly

Значение поля: 7 | Assem000.SLDASM = 3

part_counter 3.zip

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

 

Ругается на строку

 

sw_app.OpenDocSilent path_to_assembly, 2, 0

 

Run-time error '13':

 

Type mismatch

 

В Object Browser "OpenDocSilent" отсутствует (SW2012 x64 SP 5.0)..

 

А вообще, к скрытым возможностям SW это не относится.. Поэтому предлагаю переместится в отдельную тему или в  "Solidworks API"

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

Работать в Солиде начал с 2004 версии. Уже тогда обнаружил, что в уравнениях работает функция  ROUND  (округление). 

Полезно для управления количеством элементов массива.

Ссылка на сообщение
Поделиться на других сайтах
В 14.01.2017 в 21:09, Спартанец сказал:

в Солиде начал с 2004 версии. Уже тогда обнаружил, что в уравнениях работает функция  ROUND  (округление). 

Полезно для управления количеством элементов массива.

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

Ссылка на сообщение
Поделиться на других сайтах
В 12.04.2016 в 16:08, sova2004 сказал:

Округление значений.

этот скрытый метод имеет скрытую подъяпку

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

Because of the loss of precision that can result from representing decimal values as floating-point numbers or performing arithmetic operations on floating-point values, in some cases the Round(Double) method may not appear to round midpoint values to the nearest even integer. In the following example, because the floating-point value .1 has no finite binary representation, the first call to the Round(Double) method with a value of 11.5 returns 11 instead of 12.

Vigd0oaD.jpg

что такое 0.1 - не знаю,ненагуглил, получил методом научного тыка,

 

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

Может быть в уравнениях и логические функции применять можно?

только в место функции if() стоит использовать iif(). if глючит во вложенных циклах или что то подобное.

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

что такое 0.1 - не знаю,ненагуглил, получил методом научного тыка,

Открываем справку VBA и смотрим, вероятно 0,1 воспринимается как ноль (т.к. нельзя оставить 0,1 от количества знаков после запятой, а число на втором месте в скобках должно быть целым указывающем на оставляемое количество знаков после запятой) и поэтому после точки ни чего не выводится, округление проходит по правилу округления (округляемые 5 и больше в большую сторону, меньше 5 - в меньшую).

Цитата

Round Function

      

Description

Returns a number rounded to a specified number of decimal places.

Syntax

Round(expression [,numdecimalplaces])

The Round function syntax has these parts:

Part Description
expression Required. Numeric expression being rounded.
numdecimalplaces

Optional. Number indicating how many places to the right of the decimal are included in the rounding. If omitted, integers are returned by the Round function.

Есть и другие функции округления которые могут округлять в большую или меньшую сторону не зависимо от окгругляемых значений.

30 минут назад, Spikard сказал:

только в место функции if() стоит использовать iif(). if глючит во вложенных циклах или что то подобное.

Возможно вы просто не разобрались в синтаксисе команды if, iff просто ближе ко всякого рода формулам MSOffice:

IIf(expr, truepart, falsepart)

тогда как IF несколько сложнее, например:

Цитата

If A > 10 Then A = A + 1 : B = B + A : C = C + B

 

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

округление проходит по правилу округления

rHj78qxo.jpg

по моему все таки не по правилу, разве что правило слегка мутировало)
и да, 0,1 воспринимается как 0

DNrRH8fL.jpg

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

по моему все таки не по правилу

Вероятно просто правило у этой функции иное, нежели в правиле округления.

Округляет до чётного числа:

Цитата

The ROUND function utilizes round-to-even logic. If the expression that you are rounding ends with a 5, the ROUND function will round the expression so that the last digit is an even number. For example:

Round(12.55, 1)
Result: 12.6   (rounds up)

Round(12.65, 1)
Result: 12.6   (rounds down)

Round(12.75, 1)
Result: 12.8   (rounds up)

https://www.techonthenet.com/excel/formulas/round_vba.php

 

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

если я правильно понял  ̶и̶н̶т̶е̶д̶ж̶е̶р̶ флоат он откругляет до четного дабл до нечетного и это происходит из за "Because of the loss of precision that can result from representing decimal values as floating-point numbers or performing arithmetic operations on floating-point values"

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

Для округления попробуйте другую функцию:

Format(12.65, "###0.0") ' Returns "12.7".

 

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

Коллеги, подскажите где найти список тегов (SWML tags) для форматирования полей с текстом (размеры, примечания)? Речь про теги вроде <DIM>,<STACK>,<OVER>. Прям с начала этой темы все как-то очень уверенно знают их. Но только в Help-е я их не увидел, а на forum.solidworks.com это считается недокументированным методом . Может я просто их неверно называю? Пробовал и искать: "Форматирование"(Formatting), "Разметку"(Markup), "Модификаторы"(Notes modifiers/Modifiers), "Теги"(tags) в различном сочетании. Ни таблицы, ни списка с описанием не нашёл. 

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

Список тегов лежит в файле gtol.sym, путь "C:\ProgramData\SolidWorks\SolidWorks 2014\lang\russian"

Путь можно глянуть в окне "Библиотека обозначений", вываливаемое при нажатии кнопки "Дополнительно" на вкладке "Текст размера"

Показать содержимое  

59f854dff0344_.jpg.2e6bab28b0b57dd324d8b7b3491c1f52.jpg

Hide  
Если открыть файл gtol.sym, то это текстовый файл с описанием тегов - "Geometric Tolerancing Symbols Library". Файл большой, 7400 строк. Чем-то напоминает шейп-файлы из Автокада.

 

Его читаем так: Категория - GTOL, допуск на угол - ANGULAR, получилось <GTOL-ANGULAR>

59f854fd02792_.jpg.08da746a38953f2ee7209259ba10e955.jpg

То есть, если ввести в текстовое поле <GTOL-ANGULAR>, то будет "допуск формы и расп.пов-стей", а если <GTOL-BETW>, то отобразится стрелочка туда-сюда ("между", как написано в примечании).

 

Вот этот файл и отображается по категориям в окне "Библиотека обозначений".

Соответственно, все дополнительные теги вы можете вытащить оттуда.

Ну а тег <DIM> в справке описан отдельно, его в этом файле нет.

gtol.zip

Изменено пользователем jtok
Добавил архив с файлом gtol
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Pullusavis сказал:

<DIM>

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

3 часа назад, Pullusavis сказал:

<STACK>,<OVER>

Это один большой тег, овер в некоторых случаях опускается:

<STACK size=0.5 divider=no>верх<OVER>низ</STACK>

size - коэффициент размера шрифта, то есть при шрифте 4 мм при коэффициенет 0,5, значения будут высотой 2 мм.

divider - отсутсвие параметра по умолчанию или divider= разделено линией, divider=no - без лини, divider=slash - диагональная линия.

 

3 часа назад, Pullusavis сказал:

для форматирования полей с текстом

По шрифтам:

<FONT style=B> - утолщённый

<FONT style=I> - наклонённый

<FONT effect=U> - подчёркнут

<FONT effect=S> - зачёркнут

можно добавить в тег размер в мм, цвет, например: <FONT effect=S size=5 color=0x000000ff>

Для раскрытия форматирования иногда помогает установка обратного слеша "\" перед форматированным текстом, тогда открывается тег в виде текста.

Ну и тег не плохо бы закрыть: </FONT>

 

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

<PARA  indent=10 findent=-10 bullet=on><FONT color=0x000000ff>Строка1
строка2
строка 3

 

<PARA  indent=10 findent=-10 number=on ntype=1 nformat=$$. nstartNum=0><FONT color=0x000000ff>строка1
<PARA  indent=0 findent=0 number=off>продолжение строки1
<PARA  indent=10 findent=-10 number=on ntype=1 nformat=$$. nstartNum=0>строка2
<PARA  bullet=on>"

 

<PARA  indent=10 findent=-10 number=on ntype=1 nformat=$$. nstartNum=0><FONT color=0x000000ff>Строка1
строка2
строка3
<PARA  bullet=on>

 

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

jtok, спасибо. Именно этот список и был нужен, именно это я и имел ввиду. М..а что служебный тег <DIM> один такой служебный? Вот, скажем Kelny, описывает уже форматирование через <FONT..> этого нет в списке Gtol по понятным причинам - тег определенно служебный/операционный, а не символ. Не подскажете где в справке написано про использование именно тега <DIM> (и прочих служебных тегов), я видел только хелп по использованию инструментов вынесения размером. Там не предполагалось ручное вписывание тегов в поле.

Kelny, ну допустим <DIM>,<STACK> и Ко я как раз усвоил подглядывая за тем, что они ставятся при использовании инструментов кнопками. И отсюда и родился вопрос: а какие ещё есть?. Вы описали работу <FONT>.. Откуда у вас это тайное знание? Если менять параметры шрифта и цветности через "кнопочные" инструменты, то с тегами в поле PropertyManager ничего не происходит и они остаются как были (тег <FONT> с параметрами не добавляется в строку). Имеет смысл распотрошить какой-нибудь макрос на предмет списка всех остальных тегов или где-то всё таки есть просто список: тег - назначение - пример использования?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • lem_on
      По моему вполне логично если станок вывалится в ошибку если рука не доехала до места. У меня так же если кулачки или деталь на пути, просто пихаеш ее до места и станок опять активен. Но нынешние пановья даже не могут написать модель станка.
    • Viktor2004
      Я согласен что скорее всего проблема механическая Но если логика прописана криво и возможно не предусмотрела остановку в промежуточном состоянии, разве не логично будет попробовать принудительно подав напряжение дернуть эту руку вверх-вниз? Возможно то что туда попало выпадет  
    • Guhl
      Если оставить за скобками вопрото том, что до м19 работает нормально, а после нет, то вы не считали сколько у него реально импульсов на оборот? с помощью стороннего плк, например  А если ориентацию м5 снимать, а не м20?
    • lem_on
      Что это за станок такой в котором сразу ладер ковырять надо, даже не смотря на возможность механической проблемы? Или профдеформация?
    • Viktor2004
      не сразу я понял в чем вопрос. Долго соображал что такое режим управления скоростью. При завершении ориентации PMC снимает сигнал G70.6 ? И если он после снятия сигнала продолжает удерживать шпиндель, при каких условиях эта ориентация все же снимается? После нажатия аварийного грибка или еще как?
    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
    • vs3dpro
      Добрый день! У нас на есть SLA принтер 600х600х400мм. Можно напечатать мастер- модели, и можно приехать посмотреть. mail@iges.space
×
×
  • Создать...