STROYKA

SketchUp
Текущее время: 22 май 2019, 11:17

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




Начать новую тему Ответить на тему  [ Сообщений: 60 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
СообщениеДобавлено: 14 окт 2017, 22:36 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 382
Sketchup::set_status_text "Длина", SB_VCB_LABEL -- отображает название (длина, количество и т.д.)
Sketchup::set_status_text @dlina.to_s, SB_VCB_VALUE -- отоброжает еденицы измерения


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Общие вопросы по скриптописанию
СообщениеДобавлено: 14 окт 2017, 23:47 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 21 янв 2017, 22:09
Сообщений: 67
О! Вроде как я не ошибся. Надо разобраться с координатами, и с тем, что за них обозначил Rich O Brien.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Общие вопросы по скриптописанию
СообщениеДобавлено: 15 окт 2017, 03:35 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 21 янв 2017, 22:09
Сообщений: 67
Ура! Показания в окне "Измерения" появились. Но подводить итоги рано!

Как только делаю щелчок по значку плагина появляются показания, не соответствуют действительности.
При ведении курсора по экрану показания меняются. Подозреваю, что выведенное число - координата курсора.
Мне нужен строго = 0 (ноль) до первого щелчка по началу измеряемой геометрии.

Поиск решения продолжается.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 окт 2017, 03:46 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 382
Nautilus писал(а):
Ура! Показания в окне "Измерения" появились. Но подводить итоги рано!
Поиск решения продолжается.


ну ну - не будем тебе мешать изучать руби.

PS: на самом деле всё намного проще чем ты думаешь. просто его нужно упростить - ну например массив - зачем туда всё что не поподя записывать когда нам нужно всего то две точки координат - так и записываем эти точки


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 окт 2017, 04:01 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 382
Немного поясню моё предыдущее сообщение

1. Массив - туда ты записываешь бесконечное множество "определений промежуточных точек"
2. Начинаешь сортировать массив с целью перевести "определений промежуточных точек" в систему координат - а можно было сразу в него записать всего две точки

Маштабирование:
Тут вообще не понятно - берётся отрезок проведённое мышкой и из ходя этой длины просчитывается значение которое мы вбили клавиатурой. Если отрезок будет более длинный чем выделенная сторона то и маштабироваться будет из ходя этого отрезка а не выделенного обьекта - иными словами сикис насикис


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 окт 2017, 04:16 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 382
Nautilus писал(а):
Получается, что координата Z ненужна, так она для определения длины вектора в пространстве нужна. Или вы не об этом?

Да я о другом.

Вообще ошибок полно - ну начнём по порядку.
Код:
 def draw(view)
      return unless cpoint?
      @cpoint.draw(view) if @cpoint.display?
      points = @points + [@cpoint]


Конкретно вот об этом @points + [@cpoint]
@points это массив
@points + [@cpoint] - это означает что ты в массив добавляешь ещё одно значение в массиве
Это сложно понять попробую разяснить
массив @points у тебя имеет вот такое строение [[.....],[....],[.....],[.....]] - это двухмерный массив а одномерный вот такой [.... , ... , ... , ...]

А теперь самое главное в разделе def draw(view) происходить постоянное смена действий - а раз так то и запись в массив происходит постоянно - бесконечно


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Общие вопросы по скриптописанию
СообщениеДобавлено: 05 дек 2017, 00:02 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 21 янв 2017, 22:09
Сообщений: 67
Нужен код для выделения (любой) геометрии.
П.С. Имею ввиду чёрную стрелку "Select" основном тулбаре SketchUp.
:s005:
Нашёл.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 дек 2017, 18:53 
Не в сети

Зарегистрирован: 22 июн 2010, 12:45
Сообщений: 18
вопрос к знатокам:

GoogleSketchUp версия 8.0.4811 (free версия)
по какой-то причине не работают циклы
for, each, until

даже такой простой пример:

for abc in 0...5
print abc," "
end

консоль выдаёт ошибку:
_________________________________________________________________
for abc in 0...5
Error: #<SyntaxError: (eval):97: compile error
(eval):97: syntax error, unexpected $end, expecting kDO_COND or ':' or '\n' or ';'
for abc in 0...5
^>
(eval):97
_________________________________________________________________
либо:

x = 5
while x > 0
print x, " "
x -= 1
end
___________________________________________
x = 5 # 5
while x > 0 # #<SyntaxError: (eval):1:in `process': compile error\n(eval):1: syntax error, unexpected $end, expecting kDO_COND or ':' or '\n' or ';'\nwhile x > 0\n ^>
print x, " " # nil
x -= 1 # 4
end # #<SyntaxError: (eval):1:in `process': compile error\n(eval):1: syntax error, unexpected kEND>
____________________________________________

в чём может быть проблема? :s007:


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 03 сен 2018, 14:18 
Не в сети
VIP

Зарегистрирован: 03 май 2010, 11:02
Сообщений: 1475
Откуда: Питер
Уважаемые специалисты по скриптописанию, не могли бы подправить один старенький, но очень удобный плагин "DoorTools",
заменив там предлагаемую странную ручку на простенькую, обычную?


Вложения:
DoorTools.rar [26.87 KiB]
Скачиваний: 45
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 сен 2018, 00:05 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 10 дек 2015, 21:45
Сообщений: 46
ДОН, я что получится в итоге?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 сен 2018, 01:57 
Не в сети
VIP

Зарегистрирован: 03 май 2010, 11:02
Сообщений: 1475
Откуда: Питер
А в итоге удобно будет для эскизов делать коробки, двери(с идиотской ручкой), наличники, жалюзи, стекольное заполнение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Общие вопросы по скриптописанию
СообщениеДобавлено: 29 мар 2019, 16:21 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 21 янв 2017, 22:09
Сообщений: 67
Чтобы добавить объект в выборку пишу:
Код:
Sketchup.active_model.selection.add(picked)

Выбор осуществляется, НО! К нему добавляется всё, что попадает под курсор.
Мне же необходимо, чтобы был выбран только один - Последний объект, на который был наведён курсор.
Я пытался это проделать через
Код:
Sketchup.active_model.selection.first(picked)
Не срабатывает.


Вложения:
Selecte.add(picked) -- Error.gif
Selecte.add(picked) -- Error.gif [ 2.84 MiB | Просмотров: 217 ]
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 мар 2019, 20:24 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 382
Ну вот как то так - это код из моего скрипта -- под свой тебе нужно его изменить

На def onLButtonDown(flags, x, y, view)
Код:
def onMouseMove(flags, x, y, view)
    if( !@ip.pick(view, x, y, @ip1) )
        return false
      end
       view.tooltip = @ip.tooltip
       ph=view.pick_helper
       ph.do_pick x,y
      @sel = ph.path_at(0) # тут вложения может и "1" и "2" быть и "0"

 if(@sel)
  if(@sel[1].kind_of?(Sketchup::Image) ||@sel[1].kind_of?(Sketchup::Group))
    Sketchup.active_model.selection.add @sel[1]
  else
      Sketchup.active_model.selection.clear
    end
    else
      Sketchup.active_model.selection.clear
    end
end


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 мар 2019, 21:40 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 21 янв 2017, 22:09
Сообщений: 67
Sahi, привет! Попробую ваш код. Покажу результат.

Я хотел показать свой промежуточный результат.
Поучилось избавляться от предидущих выборок. Но! Работает нестабильно и медленно, в случае, когда один объект превалирует над другим по размеру. А также, когда курсор попадает на пересечение их bounding box (- ов).


Вложения:
Selecte.add(picked) -- Error_02.gif
Selecte.add(picked) -- Error_02.gif [ 6.23 MiB | Просмотров: 202 ]
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 мар 2019, 19:13 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 21 янв 2017, 22:09
Сообщений: 67
Sahi, у меня была похожая схема условий. Под LButtonDown я решил не переделывать.
Медлительность устранена путём выбрасывания лишних условий и определений.
Чем короче код, а значение - однозначнее, тем быстрее.

Однако, с выборкой малых форм на фоне крупных подтормаживает.
В остальных случаях работет "как задумано".
Я решил, что этот результат сейчас меня устравивает.


Вложения:
Selecte.add(picked) -- Error_03.gif
Selecte.add(picked) -- Error_03.gif [ 5.85 MiB | Просмотров: 188 ]
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 60 ]  На страницу Пред.  1, 2, 3, 4

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


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

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


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

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