|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 09.04.2007
Сообщений: 49
|
Добрый день!
Подскажите, можно ли что-нибудь придумать в следующей ситуации. Таблица в СПДС 6. Вычисляю общую массу стержней арматуры простой формулой количество умножаем на массу одного стержня, пишу в ячейке, например, такую формулу: =D5*E5 +" кг" Чтобы добавлялись единицы измерения (кг) формат ячейки ставлю автоматический, но тогда не регулируется точность вычисления (количество знаков после запятой), и результат выглядит, например, 129,7 кг. Когда ставлю формат ячейки числовой, снимаю галочку подавлять нули и ставлю точность вычислений 3, получаем, например, 129,700, но "кг" дописать не получается. Необходимо, чтобы хвостовые нули не подавлялись, но при этом и единицы измерения автоматически дописывались. Возможно ли такое осуществить? Спасибо. |
|||
|
||||
Цитата:
1. в менеджере объектов выбираешь нужную трубу; 2. правым кликом вызываешь контектстное меню; 3. Вибираешь, "Открыть в Мастере объектов"; 4. Далее в дереве, Параметры/Табличные. Например так: |
||||
|
||||
nanoCAD, ArchiCAD - все что с ними связано :-) Регистрация: 25.12.2008
Москва
Сообщений: 607
|
Возможно - смотрите приложенный файл )))
|
|||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Цитата:
=int(D4*E4*100+0.5)/100+"кг" - два знака после запятой =int(D4*E4*10+0.5)/10+"кг" - один знак после запятой а вот чтобы хвостовые нули не подавлялись - надо подумать, как сделать
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. |
|||
|
||||
Нет, так только округления работают. Форматирование знаков после запятой с нулями не будет.
|
||||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
а так?
=if(((int(D4*E4*100+0.5)/100)*10-int((int(D4*E4*100+0.5)/100)*10))>0;(int(D4*E4*100+0.5)/100)+" кг";(int(D4*E4*100+0.5)/100)+"0 кг") у себя проверил, вроде работает UPD: надо ещё добавить аналогичную проверку. Если в итоге целое число, то вместо "475,00" пишет "4750"
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. Последний раз редактировалось kha, 16.08.2011 в 14:39. |
|||
|
||||
|
||||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
вроде заработало
=if(((int(D4*E4*100+0.5)/100)*10-int((int(D4*E4*100+0.5)/100)*10))>0;(int(D4*E4*100+0.5)/100)+" кг";if(((int(D4*E4*10+0.5)/10)*10-int((int(D4*E4*10+0.5)/10))*10)>0;(int(D4*E4*100+0.5)/100)+"0 кг";(int(D4*E4*100+0.5)/100)+",00 кг")) пример dows'a у меня не открывается
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. |
|||
|
||||
Похоже, что ты просто гений !!!!
Добавь проверку на нулевое значение и выводи там " ". Цитата:
Последний раз редактировалось MCAD, 01.01.2022 в 11:36. Причина: СИльно не проверял |
||||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Цитата:
т.е. у него практически точно такой же код был? )))) позже сделаю для 0,0; и для 0,000
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. Последний раз редактировалось kha, 16.08.2011 в 16:03. |
|||
|
||||
Цитата:
для сравнения - построители выражений 6 и 7 СПДС в аттаче: Последний раз редактировалось MCAD, 17.08.2011 в 08:01. |
||||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Против семёрки ничего не имею ))
Работаю в группе. Поэтому если поставлю семёрку, то коллеги не смогут работать с моими чертежами.
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. |
|||
|
||||
|
||||
|
||||
Регистрация: 09.04.2007
Сообщений: 49
|
Задался еще таким вопросом: можно ли в зависимости от содержимого назначать цвет шрифта.
Например, пишу в ячейку текст "∅8-АIII ГОСТ 5781-82, L=1520", который должен будет окраситься в цвет, скажем, 84, поскольку содержит "%%C8". То есть чтобы в зависимости от диаметра назначался определенный цвет шрифту и еще при этом передавался всей строке. |
|||
|
||||
Да уж. Проверял на nanoCAD Стройплощадка 2.1 (2.1.1789.1055). Ниже не смотрел.
Последний раз редактировалось MCAD, 23.08.2011 в 13:47. |
||||
|
||||
Регистрация: 16.12.2009
Сообщений: 214
|
dows, kha, а я бы вот так сделал:
=int(c1*d1) + "," + str(int(10*c1*d1-10*int(c1*d1)))+ str(int(100*c1*d1-10*int(10*c1*d1)))+ str(rnd(c1*d1*1000-10*int(100*c1*d1))) + " кг" Из плюсов - количество знаков после запятой легко изменяется среднестатистическим юзером |
|||
|
||||
Регистрация: 16.12.2009
Сообщений: 214
|
Ну не совсем супер, может неправильно показывать при переносе из младших разрядов.
Вот так лучше: =int(f1) + "," + str(int(10*f1-10*int(f1)))+ str(int(f1*100-10*int(10*f1)))+ str(int(f1*1000-10*int(100*f1)))+ " кг" , где f1=rnd(1000*c1*d1)/1000 Можно, конечно, в одну строчку написать, но формула будет нечитабельна. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связать две таблицы СПДС 6 и ещё | rider42 | ПО от CSoft | 4 | 22.04.2010 10:00 |
Копирование данных для спецификаций из выносок СПДС в таблицу из мтекстов | Red Nova | Программирование | 177 | 08.12.2008 11:35 |
как с помощью vba начертить линию | vasyavip | Программирование | 77 | 09.10.2008 23:17 |
Таблицы в СПДС 4 | Огурец | Вертикальные решения на базе AutoCAD | 14 | 24.10.2007 11:00 |
Таблицы в СПДС GraphiCS | Athlon | ПО от CSoft | 5 | 30.08.2005 11:39 |