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

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


AlterEgo

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

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

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

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

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, AlterEgo сказал:

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

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

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

01.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

NameOfCurrentMaterial = ActiveMaterial.Name

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, 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;

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

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

2 часа назад, Dimon007 сказал:

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
Только что, AlterEgo сказал:

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

 

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

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

Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, Dimon007 сказал:

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
Только что, AlterEgo сказал:

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

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, AlterEgo сказал:

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

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, AlterEgo сказал:

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, AlterEgo сказал:

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, pkdeep сказал:

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
Только что, AlterEgo сказал:

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
Только что, pkdeep сказал:

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

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

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
Только что, AlterEgo сказал:

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

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

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

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

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

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

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

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

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

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

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

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

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



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