STROYKA
http://stroyka.in/

Общие вопросы по скриптописанию
http://stroyka.in/viewtopic.php?f=45&t=2981
Страница 4 из 4

Автор:  sahi [ 14 окт 2017, 22:36 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

Sketchup::set_status_text "Длина", SB_VCB_LABEL -- отображает название (длина, количество и т.д.)
Sketchup::set_status_text @dlina.to_s, SB_VCB_VALUE -- отоброжает еденицы измерения

Автор:  Nautilus [ 14 окт 2017, 23:47 ]
Заголовок сообщения:  Общие вопросы по скриптописанию

О! Вроде как я не ошибся. Надо разобраться с координатами, и с тем, что за них обозначил Rich O Brien.

Автор:  Nautilus [ 15 окт 2017, 03:35 ]
Заголовок сообщения:  Общие вопросы по скриптописанию

Ура! Показания в окне "Измерения" появились. Но подводить итоги рано!

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

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

Автор:  sahi [ 15 окт 2017, 03:46 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

Nautilus писал(а):
Ура! Показания в окне "Измерения" появились. Но подводить итоги рано!
Поиск решения продолжается.


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

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

Автор:  sahi [ 15 окт 2017, 04:01 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

Немного поясню моё предыдущее сообщение

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

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

Автор:  sahi [ 15 окт 2017, 04:16 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

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) происходить постоянное смена действий - а раз так то и запись в массив происходит постоянно - бесконечно

Автор:  Nautilus [ 05 дек 2017, 00:02 ]
Заголовок сообщения:  Общие вопросы по скриптописанию

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

Автор:  REDS [ 20 дек 2017, 18:53 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

вопрос к знатокам:

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:

Автор:  feodos [ 03 сен 2018, 14:18 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

Уважаемые специалисты по скриптописанию, не могли бы подправить один старенький, но очень удобный плагин "DoorTools",
заменив там предлагаемую странную ручку на простенькую, обычную?

Вложения:
DoorTools.rar [26.87 KiB]
Скачиваний: 52

Автор:  VavanUA [ 04 сен 2018, 00:05 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

ДОН, я что получится в итоге?

Автор:  feodos [ 04 сен 2018, 01:57 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

А в итоге удобно будет для эскизов делать коробки, двери(с идиотской ручкой), наличники, жалюзи, стекольное заполнение

Автор:  Nautilus [ 29 мар 2019, 16:21 ]
Заголовок сообщения:  Общие вопросы по скриптописанию

Чтобы добавить объект в выборку пишу:
Код:
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 | Просмотров: 411 ]

Автор:  sahi [ 29 мар 2019, 20:24 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

Ну вот как то так - это код из моего скрипта -- под свой тебе нужно его изменить

На 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

Автор:  Nautilus [ 29 мар 2019, 21:40 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

Sahi, привет! Попробую ваш код. Покажу результат.

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

Вложения:
Selecte.add(picked) -- Error_02.gif
Selecte.add(picked) -- Error_02.gif [ 6.23 MiB | Просмотров: 396 ]

Автор:  Nautilus [ 30 мар 2019, 19:13 ]
Заголовок сообщения:  Re: Общие вопросы по скриптописанию

Sahi, у меня была похожая схема условий. Под LButtonDown я решил не переделывать.
Медлительность устранена путём выбрасывания лишних условий и определений.
Чем короче код, а значение - однозначнее, тем быстрее.

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

Вложения:
Selecte.add(picked) -- Error_03.gif
Selecte.add(picked) -- Error_03.gif [ 5.85 MiB | Просмотров: 382 ]

Страница 4 из 4 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/