Перейти к содержанию
Форум мебельщиков

Скриптописатели! Давайте общаться


AlterEgo

Рекомендуемые сообщения

Всем привет. Взялся я всё-таки ковырять скрипты, есть много вполне алгоритмиируемых задач, нередко выполняемых вручную. Хочется себе жизнь облегчить.

Есть у нас тут опытные или интересующиеся или начинающие, как я?

У меня вот сразу на первых этапах начали возникать вопросы.

Например, есть ли возможность использовать сторонние редакторы скриптов? А то, я думаю, очень скоро начнёт сильно не хватать отладочных функций.

Ну, и по конкретным ситуациям. С утра упёрся в вопрос, никак не могу его перешагнуть. Как проверить параллельность панелей? Да и в целом, как узнать, является ли панель фронтальной, горизонтальной или вертикальной? Или повёрнутой относительно какой-то (каких-то) оси (осей)?

 

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 02.12.2016 в 11:13, AlterEgo сказал:

Как проверить параллельность панелей?

Показать  

Можно проверить измеряя угол между плоскостями, если угол 0, то плоскости (а значит и панели) параллельны.

Если смотреть относительно осей, то можно измерить угол между отрезками - один отрезок это ребро панели, а другой, например, ребро габаритной рамки (это рамка ведь точно по осям строится). В общем то относительно осей можно также измерять при помощи угла между панелями

01.jpg

Ссылка на сообщение
Поделиться на другие сайты

Slava0319, как это руками сделать, я понимаю. Не могу сообразить, как это сделать скриптом.

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты

да, тут я вам не помощник :dntknw: не в свою тему влез. скриптами сильно не увлекся.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

Народ не подскажите как в скрипте менять материалы? Хотелось что бы скрипт с моей базой работал. Кто знает? В пример можно на дверях купе. И например как добавить  уплотнитель для стекла?

Изменено пользователем Dimon007
Ссылка на сообщение
Поделиться на другие сайты
  В 28.12.2016 в 08:33, Dimon007 сказал:

как в скрипте менять материалы

Показать  

Материал указывается для каждой конкретной панели после её создания. У объектов Panel имеется свойство MaterialName, в котором указывается наименование мателиала. Я так понимаю, именно по уникальному наименованию материала Базис и ориентируется.

...
MyPanel = AddPanel();
MyPanel.MaterialName = "ЛДСП 16 Венге";
...

Хотя нет, обнаружил ещё функцию SetMaterial, позволяющую установить активный материал.

Текущий материал можно выяснить из глобальной переменной ActiveMaterial (хранит значение типа FurnMaterial) и из её свойства Name

NameOfCurrentMaterial = ActiveMaterial.Name

По работе с базой материалов прокомментировать не могу ничего. Непонятно.

На сайте Базиса есть руководство - несколько более полное и структурированное, чем справка из комплекта. Но тоже больше подходит в качестве справочника для того, кто уже более или менее знаком со всеми Базисовскими объектами и прочим, и просто забыл название. Надо пытаться решать вопросы на основании тех примеров скриптов, которые идут с базисом, разбираться...

Для того, собственно, я эту тему и создал, да что-то откликов совсем нету.

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 28.12.2016 в 10:27, AlterEgo сказал:

 Надо пытаться решать вопросы на основании тех примеров скриптов, которые идут с базисом, разбираться...

Для того, собственно, я эту тему и создал, да что-то откликов совсем нету.

Показать  

вот нашел 

    PosY2;
        ActiveMaterial.Make('ЛДСП', 16);
        Ydsp1 = (SectionRaz - (Section + HeightProfCentr) * (Count - 1)) + 8
        Ydsp = Math.floor(Ydsp1);
        DSP = AddFrontPanel(LeftDsp, PosY2 - 8, RightDsp, Ydsp + PosY2, DspProfCback);
        DSP.TextureOrientation = ftoVertical;
        DSP.Name = "Наполнение"
        PosY2 = Section + HeightProfCentr + PosY2;

Ссылка на сообщение
Поделиться на другие сайты

Да это-то понятно. Но у вас тут нет никакого обращения к базе материалов. А вопрос же был

  В 28.12.2016 в 08:33, Dimon007 сказал:

Хотелось что бы скрипт с моей базой работал

Показать  

ActiveMaterial.Make в базу материал вносит? Сомневаюсь. Нет ни указания, куда конкретно в базе его внести, ни возможности указать прочие свойства материала (единицы измерения и прочие).

То ли такой возможности в принципе не предусмотрено (за исключением разбора структуры файла базы материалов и прямого обращения прямо к этому файлу, минуя базис), то ли в справочниках она не прописана... не понятно.

Изменено пользователем AlterEgo

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 28.12.2016 в 10:54, AlterEgo сказал:

Да это-то понятно. Но у вас тут нет никакого обращения к базе материалов. А вопрос же был

 

Показать  

Все работает. Я понял так: если имя совпадает с базой, то происходит замена на текущий материал с его заданной текстурой. Спасибо. 

Да я пытаю понять нужны мне эти скрипты, сейчас чисто фрагментами "разруливаю" и по времени не дольше получается.

Ссылка на сообщение
Поделиться на другие сайты
  В 28.12.2016 в 11:10, Dimon007 сказал:

если имя совпадает с базой

Показать  

А если не совпадает? Тупо добавляется деталь указанного материала, но материал продолжает отсутствовать в базе? Правильно я понимаю?

Ну и возвращаясь в самый верх. Не знаете ответ на вопрос, сформулированный в первом сообщении? А то скрипт-то написал, но абсолютно незащищённый от дурака и от неосторожности. Т.е. если указать непараллельные панели там, где по сценарию нужны параллельные (или наоборот), - результаты полностью перестают быть предсказуемыми.

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 28.12.2016 в 11:34, AlterEgo сказал:

А если не совпадает? Тупо добавляется деталь указанного материала, но материал продолжает отсутствовать в базе? Правильно я понимаю?

Ну и возвращаясь в самый верх. Не знаете ответ на вопрос, сформулированный в первом сообщении? А то скрипт-то написал, но абсолютно незащищённый от дурака и от неосторожности. Т.е. если указать непараллельные панели там, где по сценарию нужны параллельные (или наоборот), - результаты полностью перестают быть предсказуемыми.

Показать  

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

Изменено пользователем Dimon007
Ссылка на сообщение
Поделиться на другие сайты
  В 28.12.2016 в 11:44, Dimon007 сказал:

А если нет желания каждый раз делать соответствие, создаешь просто погонный материал на каждый цвет. К примеру   "Ветрикальный профиль С шампань"

Показать  

А я в этом скрипте материалы поменял на просто "Алюминий". Достало в визуализации каждому профилю цвет прописывать :)

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 29.12.2016 в 02:03, AlterEgo сказал:

А я в этом скрипте материалы поменял на просто "Алюминий". Достало в визуализации каждому профилю цвет прописывать :)

Показать  

А есть какие нибудь грамотные уроки по созданию скриптов?

Ссылка на сообщение
Поделиться на другие сайты

Dimon007, про JavaScript в целом-то - на каждом углу в нэте уроки. Тут вопрос именно про API Базиса. Как-то бы его более структурированно бы что ли, чем то, как оно в справке. И примеров в справке почти нету. Грусть прям.

У меня такое ощущение, что все скрипты, которые приложены в комплект Базиса, написаны их же программистами. Как в их API смог бы разобраться по такой справке кто-то со стороны, даже представить сложно.

Был вон товарищ  jek-s.on, так не откликается чего-т. Я его уже и через личку позвал, месяц уже почти сообщение непрочитанным болтается... :(

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 29.12.2016 в 05:43, AlterEgo сказал:

У меня такое ощущение, что все скрипты, которые приложены в комплект Базиса, написаны их же программистами. Как в их API смог бы разобраться по такой справке кто-то со стороны, даже представить сложно.

Показать  

Да есть такое ощущение, что новые скрипты могут подготовить только программисты. Это мне напомнило когда еще в школе всякие интернет странички писали в блокноте. Прописывали все - сущий ад. Но потом появилась программа "Фишер" вроде так называлась, это тоже свое-ый инструмент для создания интернет страничек. Вот была по такому же принципу программа для создания скриптов Базиса 8. 

А то реально что бы написать скрипт, нужно изучить язык программирования)))) 

 

Че то меня разочаровывают эти скрипты, легче создавать фрагменты.

Изменено пользователем Dimon007
Ссылка на сообщение
Поделиться на другие сайты
  В 29.12.2016 в 06:17, Dimon007 сказал:

А то реально что бы написать скрипт, нужно изучить язык программирования)))) 

Показать  

Нет, ну понятно, что JavaScript знать надо, этого-то я не отрицаю. Но сам язык довольно прост, мне лично хватило простого ознакомления с синтаксисом, описанном в том самом pdf, который на сайте базиса лежит. 

А вот библиотеки объектов, написанные Базисцентром, задокументированы из рук вон плохо. Тупо справочник для тех, кто уже знает, какая функция или объект нужен, но забыл параметры или название свойств и методов.

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

AlterEgo, Доброе утро! Тоже заинтересовался написанием скриптов под себя. Но пока ничего не понимаю в этом:) готов на совместное осваивание скриптов)

Ссылка на сообщение
Поделиться на другие сайты

pkdeep, приветствую!

Ну, я пока ограничиваюсь мелочами - иногда что-то где-то подправляю в тех скриптах, которые в комплекте с Базисом, как мне удобней, что-то для "попробовать" пытаюсь писать. Всё страдаю от отсутствия внятной документации. Видимо, Базис-центр очень хочет сам обучать желающих. Не хотят самоучек поддерживать. :(

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 19.01.2017 в 01:54, AlterEgo сказал:

pkdeep, приветствую!

Видимо, Базис-центр очень хочет сам обучать желающих. Не хотят самоучек поддерживать. :(

Показать  

Доброе утро!) Я сомневаюсь что базис будет обучать письму скриптам, это же просто язык програмирования явы, типа кто хочет сам изучит.

У меня пока у самого мало что получилось попровать, поэтому пока что делаю все через резиновые блоки

Ссылка на сообщение
Поделиться на другие сайты
  В 19.01.2017 в 06:17, pkdeep сказал:

это же просто язык програмирования явы

Показать  

Я ж писал об этом выше. Язык - языком (кстати, не надо путать Java и JavaScript - два совершенно разных языка). И с ним-то, с языком, проблем нету. Всё просто и довольно обыкновенно. И синтаксис несложный, и в остальном, в целом всё ясно. Я хоть и давненько последний раз за всякие там C++ да Паскали, да прочее ООП садился, но ничего принципиально непонятного не увидел. 

Проблема именно в Базисовском API, который приходится изучать методом научного тыка либо вычитывая и пытаясь понять готовые скрипты (те, что в комплекте).

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 19.01.2017 в 08:55, AlterEgo сказал:

Я ж писал об этом выше. Язык - языком (кстати, не надо путать Java и JavaScript - два совершенно разных языка). И с ним-то, с языком, проблем нету. Всё просто и довольно обыкновенно. И синтаксис несложный, и в остальном, в целом всё ясно. Я хоть и давненько последний раз за всякие там C++ да Паскали, да прочее ООП садился, но ничего принципиально непонятного не увидел. 

Проблема именно в Базисовском API, который приходится изучать методом научного тыка либо вычитывая и пытаясь понять готовые скрипты (те, что в комплекте).

Показать  

Наверное мы разговариваем на разных языках пока что))) просто я совсем не шарю в программировании))) сейчас смотрю вебинар записанный базисом по скриптам, может что то полезное увижу)

Ссылка на сообщение
Поделиться на другие сайты
  В 19.01.2017 в 08:57, pkdeep сказал:

сейчас смотрю вебинар записанный базисом по скриптам, может что то полезное увижу)

Показать  

Во-во. Тоже только что на него наткнулся. :)

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты

AlterEgo, еще нашел пару скриптов для БМ в свободном доступе)

Ссылка на сообщение
Поделиться на другие сайты

Выкладывай :)

...Когда нас учит жизни кто-то
- я весь немею.
Житейский опыт идиота
я сам имею.

Ссылка на сообщение
Поделиться на другие сайты
  В 19.01.2017 в 09:04, AlterEgo сказал:

Выкладывай :)

Показать  

Отправил в ЛС)

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...