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

Скрытые возможности 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 пользователей

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




  • Сообщения

    • maxx2000
      Подушную малость. Чё там. Уже в упор научились резьбу резать без выходной канавки?
    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
    • brigval
    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
×
×
  • Создать...