STROYKA

Текущее время: 16 дек 2017, 18:44

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




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
СообщениеДобавлено: 18 май 2011, 14:02 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 23 июл 2010, 22:01
Сообщений: 134
Откуда: SAMARA
Вопрос:
Как используя руби скрипт запустить программу в папке находящейся рядом со скриптом не прописывая полного пути к ней.
Код:
if( not file_loaded?('test.rb'))
UI.menu('Plugins').add_item('Notepad'){UI.openURL "?????/TEST/NOTEPAD.EXE" }
end


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 16:15 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
DED писал(а):
Как используя руби скрипт запустить программу в папке находящейся рядом со скриптом не прописывая полного пути к ней.


есть два способа
1 способ
Код:
txt = Sketchup.find_support_file("txt.txt","Plugins/")
UI.openURL txt

2 способ
Код:
path = File.dirname(__FILE__)
UI.openURL path + "txt.txt"

или так
Код:
path = File.dirname(__FILE__)
imgdir = File.join(path, "txt.txt")
UI.openURL imgdir


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 16:22 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 23 июл 2010, 22:01
Сообщений: 134
Откуда: SAMARA
Блин о как просто когда подскажут
получилось
Код:
EXE = Sketchup.find_support_file("TEST.exe","Plugins/test/")
if( not file_loaded?('test.rb'))
UI.menu('Plugins').add_item('Notepad'){ UI.openURL txt }
end


Спасибо


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 16:26 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
На примере указано что открыть блокнот (блокнот зарегестрирован в Windows), то в этом случае можно и так написать
Код:
UI.openURL "notepad.exe"

Откроеться блокнот.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 16:28 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 23 июл 2010, 22:01
Сообщений: 134
Откуда: SAMARA
Нет блокнот для примера прогу я сам сделал


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 16:30 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
Да я понял.

Просто я примеры привожу что и как можно сделать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 17:34 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 23 июл 2010, 22:01
Сообщений: 134
Откуда: SAMARA
# контекст только для группы при развертывании меню
Разьесните пожалюйста не знающим на примере для линии
Код:
UI.add_context_menu_handler do |menu|
ss = Sketchup.active_model.selection
if(ss[0].typename=="Edge")
menu.add_item("test") { test }
end
end


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 17:57 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
ss - это массив (selection - выделенное), в "выделенное" могут входит группы, компоненты, края, точки и т.д
ss[0] - это первый элемент массива - например точка
ss[1] - это второй элемент массива - например группа
ss[2] - это третий элемент массива - ещё одна группа

и т.д

ss[0].kind_of?(Sketchup::Group) - спрашиваем и в ответ правда или ложь true или false

if - значит есть то есть true
else - значит нет то есть false
unless - значит нет то есть false

PS: вообщем я увлёкся вот
Код:
UI.add_context_menu_handler do |menu|
ss = Sketchup.active_model.selection
if(ss[0].kind_of?(Sketchup::Group))
menu.add_item("test") { test }
end
end


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 18:28 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 23 июл 2010, 22:01
Сообщений: 134
Откуда: SAMARA
тоесть если я правильно понял
то
Код:
UI.add_context_menu_handler do |menu|
ss = Sketchup.active_model.selection
if(ss[1].kind_of?(Sketchup::Group))
menu.add_item("test") { test }
end
end

будет работать не менее чем с двумя и более группами


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 18:42 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
Нет.

ss - это массив

пример:
ss = [группа, точка, линия, группа, группа, компонент, nil]

[0] - первый элемент массива (группа) или так first то-есть ss.first или ss[0]
[1] - второй элемент массива (точка)
[2] - третий элемент массива (линия)

и последний элемент массива (nil - пустое место) или так last то-есть ss.last или ss[-1]

и т.д
он может содержат разное количество обектов.

если указать if(ss[1].kind_of?(Sketchup::Group)) то запрашиваем второй элемент массива группа? - да или нет

а не количество.

количество мы можем узнать ( размер массива) ss.size или ss.length или так ss.nitems (в последнем случае он не считает пустые места)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Язык Rybu в SketchUp
СообщениеДобавлено: 18 май 2011, 19:04 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 23 июл 2010, 22:01
Сообщений: 134
Откуда: SAMARA
Будем знать :D129:


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 авг 2012, 20:08 
Не в сети

Зарегистрирован: 29 авг 2012, 15:35
Сообщений: 3
Кто подскажет, что такое руби, и в чем его фишка?
я не особо дружу с компьютером, но как я понял копаясь в интернете, что это на программном уровне вывод определенных комбинаций с помощью ввода определенных слов. Такли это? и еще, для чего он нужен в СЮ?


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

Зарегистрирован: 30 апр 2010, 13:00
Сообщений: 800
Откуда: Беларусь,Минск
lost писал(а):
...как я понял копаясь в интернете, что это на программном уровне вывод определенных комбинаций с помощью ввода определенных слов. Такли это? и еще, для чего он нужен в СЮ?

...в общем вы правильно поняли...это программный язык на котором написан SU....а нужен для создания дополнительных подпрограм (плагинов)или другими словами новых инструментов ...
lost писал(а):
...я не особо дружу с компьютером...

...тогда он (руби)вам и не нужен...пользуйтесь наиболее удобными для вас готовыми плагинами которые сделали другие... ;)

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


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 авг 2012, 21:59 
Не в сети

Зарегистрирован: 29 авг 2012, 15:35
Сообщений: 3
благодарю за ответ.

значит консоль руби для только для продвинутых пользователей)))))
объясните скрипты и плагины это одно и тоже?
http://www.smustard.com/products/ в книге, которую нашел здесь (на форуме),был упомянут сайт со скриптами, стал их скачивать и устанавливать в папку с плагинами, они работают. До этого не знал, думал, что это что-то другое.


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

Зарегистрирован: 30 апр 2010, 13:00
Сообщений: 800
Откуда: Беларусь,Минск
lost писал(а):
благодарю за ответ.

....
объясните скрипты и плагины это одно и тоже?
....

да
...смотри еще здесь:
http://forums.sketchucation.com/viewtop ... 23&t=28782

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


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

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


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

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


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

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