doctorraz Posted August 30, 2018 Report Share Posted August 30, 2018 >>> Почему бы тогда не перевыложить только базу элементов..? самая малая проблема)) качай новую коммерческую и выдергивай из нее базу, только по старым объектам там не очень изменений. косяки размеров, геометрии и поведения объектов кочуют из версии в версию.. некогда проданной фигрей заниматься.. бим делают 1 Quote Link to comment Share on other sites More sharing options...
Mитька Posted August 30, 2018 Report Share Posted August 30, 2018 Да я пробовал с 8ки базу дёргать, но что-то пошло не так и я тогда забил Quote Link to comment Share on other sites More sharing options...
doctorraz Posted August 30, 2018 Report Share Posted August 30, 2018 с 32 битной много проще.. база та жэж, что и в 64х. утилитой администрирования, на раз Quote Link to comment Share on other sites More sharing options...
doctorraz Posted August 30, 2018 Report Share Posted August 30, 2018 вот по теме http://blog.spds.ru/nika/2015-08-14/kak-proizvesti-obnovlenie-versii-esli-predpriyatie-dlya-bazy-detalej-imeet-sql-server-soderzhashhij-polzovatelskie-elementy.html почитай комментарии.. способ универсален Quote Link to comment Share on other sites More sharing options...
Volkov Posted August 30, 2018 Report Share Posted August 30, 2018 Да я пробовал с 8ки базу дёргать, но что-то пошло не так и я тогда забил с приложенными выше профилями проблема сохраняется? 1 Quote Link to comment Share on other sites More sharing options...
Mитька Posted August 30, 2018 Report Share Posted August 30, 2018 (edited) Только завтра доберусь, проверю. Про утилиту конфигурации - да, так и обновляемся. Но мой комп - как раз исходник для базы на сервере. =D Ну если проблема решается заменой профилей - чудно, хоть как-то решается, а технически, думаю, разберусь. Спасибо. UPD: Проверил. Да, проблема уходит. Спасибо. Осталось менянные по нас профили ещё под этот стандарт переиначить. Там можно как-то более конкретно проблему обозначить, чуть поуже , чем "проблема с локализацией"? Так-то и сам найду, но если есть точный диагноз, это будет быстрей. Edited August 31, 2018 by Mитька Quote Link to comment Share on other sites More sharing options...
Volkov Posted August 31, 2018 Report Share Posted August 31, 2018 Там можно как-то более конкретно проблему обозначить, чуть поуже , чем "проблема с локализацией"? со слов разработчика убрано свойство designation 1 Quote Link to comment Share on other sites More sharing options...
Mитька Posted August 31, 2018 Report Share Posted August 31, 2018 Спасибо. Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 3, 2018 Report Share Posted September 3, 2018 (edited) Не могу понять что за ерунда. формула HD13=trunc(HD1*100) При значение HD1= 9.2 выдаёт результат 919. 9.21 выдаёт результат 920. 9.22 выдаёт результат 921. 9.23 выдаёт результат 922. 9.24 выдаёт результат 923. 9.25 и выше - верный результат. вплоть до 9.70, где снова выдатё на 1 сотую меньше. У меня уже мозг кипит, что я делаю не так? UPD: если изменить trunc на int - то же самое, на 1 меньше получается. Нанокад СПДС 6.0, сборка 468 UPD2. Для чего мне это надо и может кто подскажет, как ещё решить. Надо это для добавления отметки на параметрический объект. Отметка вводится как параметр и отображается в виде текста. Но программа автоматически отрезает нули после запятой и, поэтому, вместо нужного мне 9.200 отметка получается 9.2, что меня не очень устраивает. PS попытка заменить trunc и int на round(HD1*100-0.5) тоже не увенчалась успехом( Решено. Требовалось для создания 4 знаков после заметой в параметре Utext в объекте. Решено заменой вычисления с int на перебор вариантов через if и переход на round(ЧИЛСО-0.5) ЧИСЛО = 10,2558 HI=round((ЧИСЛО-0,5);0) Lo=round((ЧИСЛО-Hi)*1000;0) тут надо проверку.. если Lo=0, то Lo="000", если Lo<10 то Lo="00"+str(Lo), если Lo<100 то Lo="0"+str(Lo) СТРОКА=str(Hi)+"."+str(Lo) Оно же, только частью мною используемого кода HD11=round((HD1-0,5);0) HD12=round((HD1-HD11)*1000;0) if(HD12==0) {HD12="000"}; if(HD12<10) {HD12="00"+string(HD12)}; if(HD12<100) {HD12="0"+string(HD12)}; HD13 = string(HD11)+"."+string(HD12) При значениях 1,5 - 1,9999.. выдаёт бредовое решение Предворотельно решено заменой этой части кода HD11=round((HD1-0,5);0) на HD11=round((HD1*1000-500)/1000;0) Все 0,5 и прочее заменить на 0.5 Бред.7z Edited November 9, 2018 by dromandon Quote Link to comment Share on other sites More sharing options...
Kreator Posted September 4, 2018 Report Share Posted September 4, 2018 PS попытка заменить trunc и int на round(HD1*100-0.5) тоже не увенчалась успехом( А почему не +0.5? Оно же уменьшается, а надо увеличить. По основной проблеме не подскажу, не пользуюсь СПДС. Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 4, 2018 Report Share Posted September 4, 2018 А почему не +0.5? Оно же уменьшается, а надо увеличить. Эм. Ну вроде как функции trunc и int выделяют целую часть чилса, т.е int(8.9)=trunc(8.9)=8. Поэтому и "-0.5", т.е round(8.9-0.5)=8 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted September 4, 2018 Report Share Posted September 4, 2018 если в лоб HD13=HD1+"00 " Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 4, 2018 Report Share Posted September 4, 2018 если в лоб HD13=HD1+"00 " Ну так HD1 переменная, она может быть 9,214, тогда просто подставление нулей не поможет я хотел сделать следующим образом HD11=int(HD1); HD12=int(HD1*10)-int(HD1)*10; HD13=int(HD1*100)-int(HD1)*100-HD12*10 HD14=int(HD1*1000)-int(HD1)*1000-HD12*100-HD13*10; А потом в utext в значение прописать string(HD11)+"."+string(HD12)+string(HD13)+string(HD14) Т.е. разбить число в 3-мя знаками после запятой на 4 числа и записать их последовательно с точкой после первого, тогда нули конечно не сожрутся. Но вот столкнулся с такой ерундой, вчера часа 2 голову ломал, что я не так делаю. Quote Link to comment Share on other sites More sharing options...
doctorraz Posted September 4, 2018 Report Share Posted September 4, 2018 (edited) ЧИСЛО = 10,2558 HI=int(ЧИСЛО) Lo=int((ЧИСЛО-Hi)*1000) upd тут надо проверку.. если Lo=0, то Lo="000" СТРОКА=Hi+"."+Lo не не покатит если например 10,001 ((( Edited September 4, 2018 by doctorraz Quote Link to comment Share on other sites More sharing options...
doctorraz Posted September 4, 2018 Report Share Posted September 4, 2018 (edited) кстате =int((9,011-9)*1000) в таблице результат 10 как так то? чет с математикой не очень у движка СПДС ребята напомнили, было жэж.. не у движка СПДС, а Win((( эксель =ЦЕЛОЕ((9,011-9)*1000) тоже думает, что результат =10 ((( Edited September 4, 2018 by doctorraz Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 4, 2018 Report Share Posted September 4, 2018 кстате =int((9,011-9)*1000) в таблице результат 10 как так то? чет с математикой не очень у движка СПДС Угу, а ещё если опять же поставить моё многостродальное 9,2, то выдаёт результат 9,199 по ващему способу) Бред.7z Quote Link to comment Share on other sites More sharing options...
Mитька Posted September 4, 2018 Report Share Posted September 4, 2018 Где-то же что-то такое уже обсуждалось... Про кривой подсчёт при округлениях-обрезаниях... Quote Link to comment Share on other sites More sharing options...
Mитька Posted September 4, 2018 Report Share Posted September 4, 2018 (edited) Ну так HD1 переменная, она может быть 9,214, тогда просто подставление нулей не поможет я хотел сделать следующим образом А если условием? Если число не делится на 10, 100 и 1000 нацело, то число, а если делится, то число + текст. Вижу. Мож, конечно, бред, но если убрать переменную со значением по умолчанию -0,12345... Проблема остаётся..? Edited September 4, 2018 by Mитька Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 4, 2018 Report Share Posted September 4, 2018 А если условием? Если число не делится на 10, 100 и 1000 нацело, то число, а если делится, то число + текст. а как без выражений int и trunc сделать такую проверку? Quote Link to comment Share on other sites More sharing options...
doctorraz Posted September 4, 2018 Report Share Posted September 4, 2018 короч надо делать через round, он покорректнее работает ЧИСЛО = 10,2558 HI=round((ЧИСЛО-0,5);0) Lo=round((ЧИСЛО-Hi)*1000;0) тут надо проверку.. если Lo=0, то Lo="000", если Lo<10 то Lo="00"+str(Lo), если Lo<100 то Lo="0"+str(Lo) СТРОКА=str(Hi)+"."+str(Lo) 1 Quote Link to comment Share on other sites More sharing options...
Mитька Posted September 4, 2018 Report Share Posted September 4, 2018 Где-то же что-то такое уже обсуждалось... Про кривой подсчёт при округлениях-обрезаниях... Вот тут: http://forum.nanocad.ru/index.php?showtopic=5248&view=findpost&p=35758 1 Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 4, 2018 Report Share Posted September 4, 2018 Doctorraz, Mитька, спасибо за помощь) Помогло это решение ЧИСЛО = 10,2558 HI=round((ЧИСЛО-0,5);0) Lo=round((ЧИСЛО-Hi)*1000;0) тут надо проверку.. если Lo=0, то Lo="000", если Lo<10 то Lo="00"+str(Lo), если Lo<100 то Lo="0"+str(Lo) СТРОКА=str(Hi)+"."+str(Lo) Обновлю в сообщение с вопросом) Quote Link to comment Share on other sites More sharing options...
Mитька Posted September 4, 2018 Report Share Posted September 4, 2018 Мож мне кто про BreakCur расскажет заодно..? Раз уж все здесь. Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 4, 2018 Report Share Posted September 4, 2018 Мож мне кто про BreakCur расскажет заодно..? Раз уж все здесь. Я не вкурсе) для меня функция NPart так и осталась пока загадкой)) а про BreakCur услышал первый раз из вашего поста =) Quote Link to comment Share on other sites More sharing options...
dromandon Posted September 6, 2018 Report Share Posted September 6, 2018 Может кому интересно будет, не знаю куда ещё скинуть можно) Создал в АК динамический блок, должен работать корректно и в Нано (на данный момент, по крайней мере, я не встретил косяков). Предназначен для добавления размеров и выносной отметки в параметрические объекты СПДС. Установить в нужном месте эскиза, задать тип линии блоку и разбить. Текст, правда, добавлять уже ручками надо будет с помощью Utext. Или, если кто подскажет, как выглядеть должен текст, чтобы его распознало для дополнения в исполнение, добавлю в дин. блок) Размеры динамические.dwg Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.