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

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

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...