| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Некорректно работает оператор frm

Некорректно работает оператор frm

Ответ
Поиск в этой теме
Непрочитано 13.12.2008, 23:48 #1
Некорректно работает оператор frm
Mozgunov
 
Начинающий проектировщик
 
Санкт-Петербург
Регистрация: 07.02.2008
Сообщений: 443

Форумчане мучаюсь 2-й час, никак немогу понять в чём дело. Некорректно это наверное ни то слово, я что-то неправильно делаю. Сделал маркер для подсчёта армауры. В одной из ячеек просчитываю следующее выражение (см. листинг), без оператора frm всё работает правильно, но мне нужно округление, для того чтобы сходились конечные цифры в ведомости расхода стали и в спецификации. Когда начинаю применять этот оператор СПДС начинает ругаться. Большая просьба подскажите что я не так делаю.

Код:
[Выделить все]
=summ((num(Object1.kol)) * frm((num(Object1.dlina)/1000) * 
if(num(Object1.diam)==4 ; 0.099 ; if(num(Object1.diam)==5 ; 0.154 ; 
if(num(Object1.diam)==6 ; 0.222 ; if(num(Object1.diam)==8 ; 0.395 ; 
if(num(Object1.diam)==10 ; 0.617 ; if(num(Object1.diam)==12 ; 0.888 ; 
if(num(Object1.diam)==14 ; 1.21 ; if(num(Object1.diam)==16 ; 1.58 ; 
if(num(Object1.diam)==18 ; 2.00 ; if(num(Object1.diam)==20 ; 2.47 ; 
if(num(Object1.diam)==22 ; 2.98 ; if(num(Object1.diam)==25 ; 3.85 ; 
if(num(Object1.diam)==28 ; 4.83 ; if(num(Object1.diam)==32 ; 6.31 ; 
if(num(Object1.diam)==36 ; 7.99 ; if(num(Object1.diam)==40 ; 9.87 ; 
if(num(Object1.diam)==45 ; 12.48 ; if(num(Object1.diam)==50 ; 15.41 ; 
if(num(Object1.diam)==55 ; 18.65 ; if(num(Object1.diam)==60 ; 22.19 ; 
if(num(Object1.diam)==70 ; 30.21 ; if(num(Object1.diam)==80 ; 39.46 ; 
0))))))))))))))))))))))))
P.S. Вроде округляется числовой тип...

Пример из справки :

Frm(0.001230) возвращает строку 0,0012, если для столбца, содержащего ячейку, установлен режим подавление нулей и точность 0,0000.
__________________
dmtools.ru

Последний раз редактировалось Mozgunov, 13.12.2008 в 23:56.
Просмотров: 4544
 
Автор темы   Непрочитано 14.12.2008, 12:32
#2
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Всё спасибо! Можете не думать и не ломать голову. Пошёл другим путём. Массу еденицы в спецификации поставил до 3 знака после запятой, и заменил подсчёт графы примечание(общ. масса) с off (0;-2)* off(0;-1) которая была округлена на полную формулу.
__________________
dmtools.ru
Mozgunov вне форума  
 
Автор темы   Непрочитано 14.12.2008, 15:59
#3
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Следующий вопрос в продолжении этой темы. Хочу сделать такой же маркер на прокат ГОСТ 103-2006. Чтобы расчёт массы еденицы выполнялся по аналогии с 1м топиком elseif, но в этом ГОСТе не 22 вида профилей, а несколько сотен. Вопрос следующий! Хватит ли системных ресурсов программы на такой перебор? Если в спецификации будет например несколько сотен позиций. Спасибо!
__________________
dmtools.ru
Mozgunov вне форума  
 
Автор темы   Непрочитано 14.12.2008, 20:00
#4
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Уважаемые Гуру не молчите пожалуйста! Ещё один вопрос. Ограничена ли длина строки в которую записывается формула? Рисунок ниже.
Миниатюры
Нажмите на изображение для увеличения
Название: privyazka.jpg
Просмотров: 133
Размер:	36.4 Кб
ID:	13514  
__________________
dmtools.ru
Mozgunov вне форума  
 
Непрочитано 14.12.2008, 22:03
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Ты сразу сообщай, что разработку ведешь для СПДС GraphiCS (да и версию не забудь указать).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.12.2008, 23:49
#6
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Разработку веду в СПДС GraphiCS 4.0. Пока формула дошла до размера в 7kb проблем вроде нет. всё общитывает Хотя наверное не нужно городить всё в одну формулу, а нужно в таблице спецификации использовать "группировку" на каждый маркер свою.
__________________
dmtools.ru
Mozgunov вне форума  
 
Автор темы   Непрочитано 15.12.2008, 21:38
#7
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Ребят ещё один вопрос (Хотя у меня уже впечатление возникает, что я сам собой разговариваю). Вопрос такой. Сделал маркер который как то должен реагировать если такая же позиция уже есть. Как этого добиться. Можно ли как нибудь прикрутить к СПДС возможность работы с какими либо другими языками, а то слишком уж скромный список операторов. Маркер прилагается.
Вложения
Тип файла: rar Тест.rar (238.4 Кб, 105 просмотров)
__________________
dmtools.ru
Mozgunov вне форума  
 
Непрочитано 16.12.2008, 06:26
#8
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Стоп, задача несколько не понятна, ты собираешься заполнить парметрическую таблицу СПДС, значениями из маркеров???
Или создавать таблицу потом с помошью ЛИСПА???
А может быть попробовать тспользовать не маркеры а параметрические объекты , типа арматурный стержень, почти как в PS-конструкции
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 16.12.2008, 15:18
#9
MCAD


 
Блог
 
Регистрация: 05.01.2005
Сообщений: 1,694


Цитата:
Сообщение от Mozgunov Посмотреть сообщение
Можно ли как нибудь прикрутить к СПДС возможность работы с какими либо другими языками, а то слишком уж скромный список операторов. Маркер прилагается.
В колонке D должно быть
=summ (num(Object1.kol))
MCAD вне форума  
 
Автор темы   Непрочитано 20.12.2008, 17:21
#10
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Яков, а не подскажите может ли маркер пробежаться по листу и определить сколько ещё таких маркеров, но только чтобы это всё он сделал внутри себя. В таблице есть count(object). Есть ли что-то подобное внутри маркера? Например в одном маркере переменная poz=1, задача вновь создаваемого маркера определить есть ли такой маркер на листе, и если есть, то получить его свойства(переменные)
__________________
dmtools.ru
Mozgunov вне форума  
 
Автор темы   Непрочитано 20.12.2008, 17:25
#11
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


DEM, В топике №7 я выложил маркер + таблица . Поэтому обсчитывать я хочу при помощи таблиц СПДС.
__________________
dmtools.ru
Mozgunov вне форума  
 
Непрочитано 20.12.2008, 20:01
#12
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Mozgunov
А может все таки попробовать подсчет вести не с помощью маркеров.
А вести именно подсчет объектов, т.е. именно арматурных стержней, которые будут сделаны из объектов СПДС-графикс.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 20.12.2008, 20:45
#13
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


DEM, Не совсем вас понял. Каждый стержень это отдельный объект СПДС ?
__________________
dmtools.ru
Mozgunov вне форума  
 
Непрочитано 20.12.2008, 21:19
#14
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от Mozgunov Посмотреть сообщение
DEM, Не совсем вас понял. Каждый стержень это отдельный объект СПДС ?
Угу, примерно так же как в PS-конструкции, если готовы попробовать, то могу предложить совместную работу, после НГ, у меня вроде время появится и можно будет заняться этим делом.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 20.12.2008, 21:35
#15
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


DEM, Тогда нужна будет прорисовка в масштабе 1:1. И много ещё разных мелочей учитывать. А я предлагаю маркер по типу как делает это "ВетКад". DEM да есть желание подстроить СПДС под себя, будут предложения по улучшению будем ковыряться. Выложу маркер более менее близкий к идеальному для подсчёта арматуры.Только не получается научить его ругаться если пытаешся создать позицию которая уже была создана раньше. Вот с этим как-то разобраться нужно...Вообще ребят посмотрите если есть предлжения пишите!
Вложения
Тип файла: rar маркер.rar (58.2 Кб, 86 просмотров)
__________________
dmtools.ru
Mozgunov вне форума  
 
Непрочитано 21.12.2008, 10:38
#16
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Mozgunov
с отрисовкой типовых стержней проблем не будет, отрисовку 1/1 можно обеспечить легко.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Некорректно работает оператор frm

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему некорректно работает vla-intersectwith? Кулик Алексей aka kpblc Программирование 23 03.11.2010 15:03
Команда ОФФСЕТ работает некорректно Абдула AutoCAD 4 11.03.2006 16:29
Помогите!!! Raster Design не работает Галина Прочее. Программное обеспечение 2 30.07.2004 14:58
свойства объекта в 2004 не всегда работает ingener AutoCAD 3 03.12.2003 12:37