|
|
|
|
|
06.06.2017, 08:56
|
|
БАЗИС 10 - Скрипты
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565
Сказал(а) спасибо: 303
Поблагодарили 451 раз(а) в 189 сообщениях
06.06.2017, 08:56
Рейтинг:
()
Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 10 в этой теме.
Последний раз редактировалось systland; 26.12.2017 в 11:52..
|
Просмотров: 425582
|
24.07.2020, 07:55
|
#551
|
Местный
Регистрация: 16.03.2008
Адрес: Челябинск CCCР
Сообщений: 445
Сказал(а) спасибо: 829
Поблагодарили 435 раз(а) в 188 сообщениях
Вес репутации: 419
|
Цитата:
Сообщение от SUNR1se
Ребят, что то не могу догнать, как построить вспомогательную линию с помощью скрипта?
|
Извините, несколько не по делу. Но на куя? Хочется понять, скриптом быстрее, или удобней, чем хоткеем?
|
|
|
24.07.2020, 10:40
|
#552
|
Новичок
Регистрация: 09.04.2018
Сообщений: 11
Сказал(а) спасибо: 2
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от sannykSV
Извините, несколько не по делу. Но на куя? Хочется понять, скриптом быстрее, или удобней, чем хоткеем?
|
Логика скрипта:
При запуске скрипта выскакивает сообщение в котором нужно ввести расстояние между столешницей и верхним модулем.
После чего скрипт считает базовую высоту верхнего модуля и устанавливает вспомогательную линию и появляется возможность закрепить точку начала координат построения верхнего модуля,
так как базовая точка начала координат построения модуля привязана к нижнему заднему левому углу на всех видах модулей и нижних и верхних.
|
|
|
25.07.2020, 07:37
|
#553
|
Пользователь
Регистрация: 17.12.2016
Сообщений: 89
Сказал(а) спасибо: 27
Поблагодарили 50 раз(а) в 30 сообщениях
Вес репутации: 107
|
Цитата:
Сообщение от SUNR1se
Ребят, что то не могу догнать, как построить вспомогательную линию с помощью скрипта?
Может подскажет кто?
|
Для имитации нажатия вызова построения вспомогательной линии - скрипт ниже, а как скриптом задать само построение - пока не разобрался...
var Application = Action.Control.Owner.Owner.Owner,
MainForm = Application.MainForm,
BtnBorderFrame = MainForm.SpTBXItem42;
BtnBorderFrame.Click();
|
|
|
31.07.2020, 19:31
|
#554
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
перешёл на базис 10 с базис 11
вот скрипт на Pyton переноса базы материалов
для начала нужно создать пустую базу в базис 10
хочу скрипты но не хочу платить каждый год за ТС((( и хочу скрипты в VS Code которые так прекрасно работали в Б10 и чудесным образом перестали работать в Б11
Скрытый текст
import fdb as fd
con11 = fd.connect(
dsn='d:/Baza11.FDB',
user='sysdba',
password='masterkey',
charset='UTF8'
)
con10 = fd.connect(
dsn='d:/Baza10.FDB',
user='sysdba',
password='masterkey',
charset='UTF8'
)
cur10 = con10.cursor()
cur11 = con11.cursor()
cur10.execute("delete from GROUP_MATERIAL")
con10.commit()
cur11.execute("select * from GROUP_MATERIAL order by ID_GRM")
for t in cur11:
print(str(t).replace('None', 'null'))
cur10.execute("insert into GROUP_MATERIAL values " + str(t).replace('None', 'null'))
con10.commit()
cur10.execute("delete from MEASURE")
con10.commit()
cur11.execute("select * from MEASURE")
for t in cur11:
print(str(t).replace('None', 'null'))
cur10.execute("insert into MEASURE values " + str(t).replace('None', 'null'))
con10.commit()
cur10.execute("delete from MATERIAL")
con10.commit()
cur11.execute("select * from MATERIAL")
for t in cur11:
print(str(t))
print(str(t).replace('None', 'null'))
cur10.execute("insert into MATERIAL values " + str(t).replace('None', 'null'))
con10.commit()
[свернуть]
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
31.07.2020, 21:58
|
#555
|
Местный
Регистрация: 11.08.2012
Адрес: Киев
Сообщений: 936
Сказал(а) спасибо: 5,370
Поблагодарили 3,884 раз(а) в 874 сообщениях
Вес репутации: 1098
|
Есть скрипт - ищет фасады и скрывает их.
Некорректно работает, когда на модели вычитания или тело вращения. Тогда не находит и не скрывает все объекты (фасады). С телом по траектории работает нормально.
Можно ли его как-то вылечить от реакции на тело вращения?
Скрипт
Model.forEach(function (obj) {
if (obj.Name == "Фасад"){
obj.Visible = !obj.Visible;
}
}
); [свернуть]
|
|
|
01.08.2020, 13:58
|
#556
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
Цитата:
Сообщение от Tehnik
Есть скрипт - ищет фасады и скрывает их.
Некорректно работает, когда на модели вычитания или тело вращения. Тогда не находит и не скрывает все объекты (фасады). С телом по траектории работает нормально.
Можно ли его как-то вылечить от реакции на тело вращения?
Скрипт
Model.forEach(function (obj) {
if (obj.Name == "Фасад"){
obj.Visible = !obj.Visible;
}
}
); [свернуть]
|
проверяй obj на undefined это исправили в Б11
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
29.08.2020, 21:17
|
#557
|
Новичок
Регистрация: 11.03.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
|
Всем доброго дня! Подскажите, пожалуйста, есть способ какой-нибудь с помощью скрипта установить на панели отверстие произвольного диаметра и произвольной глубины, диаметр и глубина определяются в момент работы самого скрипта?
Нашел один вариант, но он работает некорректно. Создано глухое отверстие в пласть в виде f3d диаметром 5х5. Далее в скрипте:
var furHole=OpenFurniture('Отверстие.f3d');
var objHole = furHole.Mount1(Panel, 100, 100, 18, 180);
objHole.Holes[0].Diameter = 35;
objHole.Holes[0].Depth = 16;
objHole = furHole.Mount1(Panel, 200, 100, 18, 180);
objHole.Holes[0].Diameter = 5;
objHole.Holes[0].Depth = 35;
objHole = furHole.Mount1(Panel, 300, 100, 18, 180);
objHole.Holes[0].Diameter = 15;
objHole.Holes[0].Depth = 14;
Ставлю 3 отверстия таким образом.
В базисе на панели действительно появляются три отверстия разных диаметров, но при копировании панели или при передаче в модуль ЧПУ все отверстия становятся по диаметру и глубине равными первому. Что я делаю не так?
|
|
|
22.12.2020, 14:13
|
#558
|
Новичок
Регистрация: 18.12.2020
Сообщений: 14
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
|
Подскажите пожалуйста как получить координаты(X,Y) отверстий на панели.
|
|
|
23.12.2020, 15:22
|
#559
|
Новичок
Регистрация: 18.12.2020
Сообщений: 14
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
|
Как получить размер массива отверстий у фурнитуры?
Отдельно, по индексу могу обратится к каждому отверстию, но свойство "length" ни чего не возвращает.
Скрытый текст
var p1 = Model.Selected.AsPanel;
var fasts = p1.FindConnectedFasteners();
fasts[0].Holes[0] // возвращает тип данных (object THole)
fasts[0].Holes.length // не возвращает размер массива Holes [свернуть]
|
|
|
23.12.2020, 16:43
|
#560
|
Новичок
Регистрация: 03.03.2019
Сообщений: 5
Сказал(а) спасибо: 4
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 0
|
fasts[0].Holes.Count
|
|
|
Пользователь сказал cпасибо:
|
|
|
|
|
Нижняя навигация
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 13:43. Часовой пояс GMT +3.
|