STROYKA

Текущее время: 17 дек 2017, 09:57

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
СообщениеДобавлено: 11 апр 2013, 12:22 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
столкнулся с проблемой.
Написал Плагин, который рисует печь из данных csv.
Все работает корректно у большинства пользователей.
Но вот есть 2 процента из ста, у которых ничего не прорисовывается и не загружается.
Может я как новичок в руби где-то напортачил?
Код такой


require 'sketchup.rb'
def create_stove
f_name = UI.openpanel("Read CSV File", Sketchup.find_support_file("Plugins"), '*.csv')
model = Sketchup.active_model
entities = model.active_entities
scale=0.393700787401575
fields = Array.new
pt = Array.new
f = File.new(f_name, "r")
#-----------------------------------------------
f.each_line{|line|
fields = line.split(';')
height=fields[9].to_f*scale
color=fields[10]
pt[4] = [fields[0].to_f*scale,- fields[1].to_f*scale, fields[2].to_f*scale]
pt[3] = [fields[3].to_f*scale,- fields[4].to_f*scale, fields[2].to_f*scale]
pt[2] = [fields[5].to_f*scale,- fields[6].to_f*scale, fields[2].to_f*scale]
pt[1] = [fields[7].to_f*scale,- fields[8].to_f*scale, fields[2].to_f*scale]



if !fields[11] .empty? then l_new = model.layers.add fields[11] end
model.active_layer = l_new

g = entities.add_group
base = g.entities
base = base.add_face(pt[1],pt[2],pt[3],pt[4]) # end

if fields[2].to_f!=0 then base.reverse! end
if height!=0 then base.pushpull -height, true end

g.material =color
}

end
#----------------------------------------------------
unless file_loaded?(__FILE__)
mymenu = UI.menu("Plugins").add_submenu("StoveWeb")
mymenu.add_item("Import Stove") {create_stove}
end
#-----------------------------------------------------------------------------
file_loaded(__FILE__)




Архив с Плагином и примерами можно скачать здесь
Никогда ранее не сталкивался с такой проблемой, так же как и не писал никогда на Руби, потому сильно не пинайте, но за помощь заранее спасибо


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 11 апр 2013, 12:53 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 24 апр 2010, 20:14
Сообщений: 2152
Откуда: Донецк
st7 писал(а):
столкнулся с проблемой.
Написал Плагин, который рисует печь из данных csv.
Все работает корректно у большинства пользователей.
Но вот есть 2 процента из ста, у которых ничего не прорисовывается и не загружается.
Может я как новичок в руби где-то напортачил?

Наверное мой входит в эти 2%.......................
Не нахожу его в меню Plugins.

_________________
[size=85]Intel Core i7-2700K,3700 MHz(37x100);Asus P8Z77-V;RAM 16GB;GeForce GTX 1080G1(8GB);ACER 24";Dell U2412M(Digital);Windows 10 Pro x64;SketchUP 2016;Thea
http://modernplus.com.ua/inter.html


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 11 апр 2013, 13:20 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
если у вас не появляется в меню - то вы пока первый.
должен модуль встать в Plugins/StoveWeb/import Stove


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 11 апр 2013, 23:07 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 30 апр 2010, 13:00
Сообщений: 800
Откуда: Беларусь,Минск
.....положите пример в CSV который в архиве в ту же папку PLUGINS и будет вам щастье....
--------------
...а вообще забавная идея с веб печником...хотя не знаю,на сколько это все популярно.....глянул в предоставленные CSV...все достаточно просто...в строках забиты координаты фигуры(смотрел кирпич),цвет и слой...даже менял эти параметры...забавно...кирпичи сделал зелеными,и другой формы....st7,не прибедняйтесь....в руби ,может, вы и новичок ,но в программировании вы разбираетесь...если это работает ,то надо было написать такую "бороду" как интерпретатор... ;)

_________________
--pupil forever...Изображение------


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 апр 2013, 06:59 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
urgen писал(а):
.....положите пример в CSV который в архиве в ту же папку PLUGINS и будет вам щастье....
--------------
...а вообще забавная идея с веб печником...хотя не знаю,на сколько это все популярно.....глянул в предоставленные CSV...все достаточно просто...в строках забиты координаты фигуры(смотрел кирпич),цвет и слой...даже менял эти параметры...забавно...кирпичи сделал зелеными,и другой формы....st7,не прибедняйтесь....в руби ,может, вы и новичок ,но в программировании вы разбираетесь...если это работает ,то надо было написать такую "бороду" как интерпретатор... ;)


интерпретатор для чего?
Прога , которая составляет csv файл по любому ТЗ? - Такую уже написал, она на сервисе ВебПечник http://stoveweb.com/ работает. Или для каких других целей?

Вот к вопросу о 2 процентах ( На деле это реальных 2 человека из более чем 100 реальных скачиваний). Узнал случайно, что у одного из них стоит ломанная версия PRO SketchUp.
Может ли ошибка быть как-то с этим связана, так как я подключаю файл skethup.rb?
Кто-нибудь сталкивался с такой проблемой? И что можно предложить?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 апр 2013, 10:24 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 30 апр 2010, 13:00
Сообщений: 800
Откуда: Беларусь,Минск
st7 писал(а):
интерпретатор для чего?
Прога , которая составляет csv файл по любому ТЗ? - Такую уже написал, она на сервисе ВебПечник http://stoveweb.com/ работает. Или для каких других целей?

....это вроде бы и называется интерпретатор...вбиваешь туда параметры,а он уже выдает готовые строчки с цифрами параметров 3D...
st7 писал(а):
....Вот к вопросу о 2 процентах ( На деле это реальных 2 человека из более чем 100 реальных скачиваний). Узнал случайно, что у одного из них стоит ломанная версия PRO SketchUp.
Может ли ошибка быть как-то с этим связана, так как я подключаю файл skethup.rb?
Кто-нибудь сталкивался с такой проблемой? И что можно предложить?

...предложить можно тем двум бойцам переустановить скетчап....я думаю 2 процента -это нормально ,когда люди ставят ломаные версии...плюс еще может наложиться некорректная версия русскоязычного перевода или другие программы могут мешать процессу...кстати,скрипт работает и в седьмой версии SU
....еще несколько дилетантских вопросов с точки зрения программиста(если можно)...а почему в рубике задан какой-то дикий масштаб scale=0.393700787401575 ???? и соответственно в CSV цифры откорректированы по этому масштабу?..зачем он вообще нужен? ...можно предположить,что это как-бы для шифровки или есть специфика написания в CSV?...не понятна примерная привязка кирпича(печи) к осям...то.есть опорные точки базы кирпича привязываются примерно к осям хотя реальные размеры базы и пушпула по высоте сделаны точно... ...некрасиво получается... как бы неточно(~792 на изображении)...скетчап инструмент точный,хотелось бы не наблюдать эту галочку "примерно"...мой опыт показывает,что все эти "примерно"всегда вылезают при особо сложных построениях боком...это касается и масштаба...
...а вообще повторюсь,идея с веб печником интересная....спасибо :-P ...думаю,нужно продолжить тему не только с печами...смотрите на тему шире ;)
ЗЫ: файлы CSV у меня работают только тогда ,когда я их кидаю в папку PLUGINS и запускаю их оттуда соответственно...я уже об этом писал.


Вложения:
111.jpg
111.jpg [ 59.98 KiB | Просмотров: 3693 ]

_________________
--pupil forever...Изображение------
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 апр 2013, 13:08 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
величина нормировки 0.393700787401575- это перевод дюймов (по умолчанию в Sketchup) в сантиметры (это абсолютно точное выражение, взято из скетчаповского мануала).

В csv файле заданы координаты вершин в см (тоже абсолютно точно). Можете убедиться, что размер там соответствует размеру кирпича, взятого из тех задания. В случае с примером из архива это- 25 Х 12 Х 6.5 см. Размер шва - 1см. - это для керамического кирпича (red...). И : 25 Х 6.5 Х 12.4 см для огнеупорного (yel...). Размер шва - 0.2см Вы можете получить эти цифры путем вычитания соответственных координат в файле, чтоб убедиться.
А теперь посмотрите на размер кирпича в отрисованном объекте (инструментом рулетка)- увидете абсолютно те же цифры.
Поэтому, нет никакого "примерно" в конструкции - везде в цифрах абсолютная точность

Точка привязки выбрана не нулевая, чтоб не втыкаться в фигурку в ново открытом файле.
Да и в чем необходимость переносить конструкцию в какую-то точку с целыми числами, когда интересна конструкция, а не привязка?


По поводу "смотрите на тему шире" - это вы правы. По аналогии можно сделать такую программу в любой сфере проектирования. Печная тематика, кстати, ода из сложнейших. Например, небольшая печь в примере имеет тысячу деталей! Спроектировать дом из блоков , может оказаться, проще!
Но, дело в том, что на жизнь я зарабатываю почти 20 лет именно кладкой печей . А что знаю хорошо, о том и пишу. И в первую очередь программу написал для себя :)

По расположению файла - интересное открытие. Но у меня он открывается из любого места


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 апр 2013, 16:23 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
вопрос с 2% снят -
Проблема скорее всего в сборке, где сбиты пути (или SkethUp поставлен с ошибкой или ломанная версия и т д)
Сейчас версия 1.4 StoveWeb снимает эту проблему.
Кто хочет попробовать , обязательно перед установкой прочитайте
read_me.txt - чуть есть изменения в установке и считывании файлов.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 апр 2013, 18:29 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 21 фев 2012, 00:52
Сообщений: 1124
Откуда: Киев
st7 писал(а):
величина нормировки 0.393700787401575- это перевод дюймов (по умолчанию в Sketchup) в сантиметры (это абсолютно точное выражение, взято из скетчаповского мануала).

Надо использовать метод
Код:
to_cm

http://www.sketchup.com/intl/en/develop ... eric#to_cm

_________________
"Кто не хочет-ищет причины, кто хочет-средства"
http://layout-sketchup.blogspot.com
https://3dwarehouse.sketchup.com/collec ... 91762d870a


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 апр 2013, 18:56 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
yorik1984 писал(а):
st7 писал(а):
величина нормировки 0.393700787401575- это перевод дюймов (по умолчанию в Sketchup) в сантиметры (это абсолютно точное выражение, взято из скетчаповского мануала).

Надо использовать метод
Код:
to_cm

http://www.sketchup.com/intl/en/develop ... eric#to_cm


да , видел .
Этот метод делает ровно то же самое - нормирует на scale


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 апр 2013, 18:59 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 21 фев 2012, 00:52
Сообщений: 1124
Откуда: Киев
используйте методы, которые все понимают нежели непонятные числа с кучей знаков после запятой.
Выложите ваш плагин на scetchucation и местные рубисты в прах разнесут ваш код за такие дела.

_________________
"Кто не хочет-ищет причины, кто хочет-средства"
http://layout-sketchup.blogspot.com
https://3dwarehouse.sketchup.com/collec ... 91762d870a


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 апр 2013, 19:24 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
yorik1984 писал(а):
используйте методы, которые все понимают нежели непонятные числа с кучей знаков после запятой.
Выложите ваш плагин на scetchucation и местные рубисты в прах разнесут ваш код за такие дела.

если обращение к методу , который делает умножение быстрее, чем простое умножение, то это имеет смысл.
Однако, если идет речь только о правилах - то мне это все равно, я не рубист и писать на этом языке пока не собираюсь. Плагин составлен для работы, а не для чтения знатоками. И код выложил только , чтоб мне помогли найти ошибку. Мне важна скорость работы (так как речь идет о больших массивах) , а не правила приличия.
Если вы покажете, что метод .to cm быстрее *scale - то так и сделаю. Но логика подсказывает, что это увы не так.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 апр 2013, 19:28 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
yorik1984 писал(а):
т нежели непонятные числа с кучей знаков после запятой.


по этому поводу
http://rhin.crai.archi.fr/rld/pdf/Autom ... etchUp.pdf
стр 17
может и после этого непонятные числа с кучей знаков?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 апр 2013, 19:38 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 21 фев 2012, 00:52
Сообщений: 1124
Откуда: Киев
по поводу скорости не буду говорить. но если делать выбор между читаемостью кода и производительностью, то я за первый вариант. Потому как трудночитаемый код в будущем очень сложно оптимизировать(сделать быстрее).
А книгу которую вы мне дали почитать я очень хорошо знаю. Эти числа там только для примера.
А если вы все таки хотите привязать ся имеено к числу. то сделайте его константой. С кратким коментарием что это значит. Это я к тому что уже были вопросы у тех кто хотел вам помочь, но не смог прочитать ваш "быстровыполняемый" код.

_________________
"Кто не хочет-ищет причины, кто хочет-средства"
http://layout-sketchup.blogspot.com
https://3dwarehouse.sketchup.com/collec ... 91762d870a


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 апр 2013, 19:52 
Не в сети

Зарегистрирован: 21 мар 2013, 18:41
Сообщений: 9
да, спасибо. Я тоже подумал о комментариях в этом месте


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB