Re: Внутренний язык объектов СПДС

1. Я так понимаю у пользователей уже есть какие либо слои. К примеру, всем удобно когда все размеры устанавливаются в определённом слое, независимо от текущего, и не приходится их постоянно  перетаскивать )
Вообще я предполагал, что может быть я опять что-то упустил, и существует команда типа setlayer "***" которая будет отправлять объект в "***" слой. Я думаю что пользоваться захочет столько человек, сколько составляет БД )

2. Вопрос про обрезку был больше теоретический )) Я не понимаю, про какую полилинию ты сейчас говоришь...

(изменено: Яков, 13 июня 2011г. 11:28:38)

Re: Внутренний язык объектов СПДС

Евгений пишет:

существует команда типа setlayer "***" которая будет отправлять объект в "***" слой.

Да, такая функция есть. Не документирована и используется для служебного пользования. Имеет ряд ограничениий. Так что притезии по испольованию приниматься не будут  :!: .
В разделе скрипта OnInitialization
После

if(seted == UnknownVal) {
        seted=1;

//Добавьте:
    this.Layer="#Your_Layer";

Re: Внутренний язык объектов СПДС

Преогромное спасибо!

Re: Внутренний язык объектов СПДС

Евгений пишет:

Преогромное спасибо!

Проверь сначала. У меня, сейчас, нет на машине коммерческой сборки. Сам проверирть не смог sad

Re: Внутренний язык объектов СПДС

10 минут - полёт нормальный )) всё работает!

Re: Внутренний язык объектов СПДС

Никак не могу решить проблему...слетает выноска знака ориентации. В принципе она работает почти как надо, только при любом изменнении в объекте, она слетает. Приходится заного ее устанавливать в нужное положение, потянув за грипсу.
В чем может быть дело? в OnChangeParametrs? как заставить объект, запоминать нужное положение...помогите пожалста )

Re: Внутренний язык объектов СПДС

Евгений пишет:

слетает выноска знака ориентации.

при любом изменнении в объекте, она слетает.

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

Re: Внутренний язык объектов СПДС

1. Вставляем объект, выноска изображается криво изначально.
2. Мы ее выставляем так как надо, все работает нормально.
3. Любое действие с объектом, приводит к тому, что выноска "слетает". Этого не происходит только под определенным углом. помоему от 0 до 45градусов.
Внутренний язык объектов СПДС

Re: Внутренний язык объектов СПДС

Евгений пишет:

Этого не происходит только под определенным углом

вероятно под этот угол я и попадал =)
Да, повтор есть - отображение меняется после редактирования. Передал ошибку разработчикам.

Re: Внутренний язык объектов СПДС

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

(изменено: Дмитрий Волков, 4 сентября 2012г. 07:02:54)

Re: Внутренний язык объектов СПДС

Евгений, направят =)
действие OnMakeParams выполняется после любого другого вызова функций.
Там есть строчка:
Ugznak = angleTwoPi(oZ,pntGrip0-pntGrip3);
После движения гриппоинтов эти точки определены, и поэтому эта строчка выполняется нормально.
После вызова диалога этих переменных там нет, поэтому Ugznak получет неправльное значение.
Этой строчке там нечего делать, если перенести ее в OnMoveGripPoint объект перестает менять геометрию.

Но в целом, вероятно, это не единственная проблема данного скрипта.
1) непонятна необходимость вот этих строчек:
if (strDesignName == "Implementation5" || strDesignName == "Implementation6" || strDesignName == "Implementation7"){
vecDirection = oY;
}
else{
vecDirection = oZ;
};
Если надо поменять вид я подскажу как.

2) Если выбора вектора нет, почему не описана процедура вставки что бы убрать лишний запрос?
function OnConnect
{
NoVectorSelect=1;
}

3) Огромное количество неиспользуемых protected переменных.

(изменено: Евгений, 4 сентября 2012г. 08:02:16)

Re: Внутренний язык объектов СПДС

Работает! ) урааа! Спасибо! Получается что переменные pntGrip существуют только внутри функций setgrip onmovegrip? Начинаю более менее понимать...

Я думаю, что там вообще очень много проблем, ведь я строитель, а не программист )
Теми строчками я решал проблему поворота видов в пространстве. Разобраться с плоскостями я так и не смог...
Подскажите, лишний инструмент мне всегда пригодится!
Сейчас попробую, что это за зверь...NoVectorSelect=1;

Upd: я так и не понял, что даёт эта функция...NoVectorSelect=1;

Re: Внутренний язык объектов СПДС

Евгений пишет:

Подскажите, лишний инструмент мне всегда пригодится!

Вид меняется функцией:
MakeVectorsFromView(VLEFT, vecDirection, vecPlane);
но среди ваших исполнений я не нашел видов VTOP/VLEFT/VBOTTOM/VRIGHT/VBACK  все виды на исполнениях у вас – VFRONT.

Или можете отключить эмуляцию 3d видов, добавив флажок:
function ActHeader {
No3dViews=1;
и сами назначать любой вид не трогая вектора, просто назначая переменную
lViewType = VLEFT;
Исторически сложилось что VTOP это тот который слева, а VLEFT это тот который сверху

Евгений пишет:

Сейчас попробую, что это за зверь...NoVectorSelect=1;
Upd: я так и не понял, что даёт эта функция...NoVectorSelect=1;

Добавление этих 3 строчек
function OnConnect
{
NoVectorSelect=1;
}
Заблокирует запрос указания вектора при вставке детали. Т.е. объект будет вставляться в один клик, а не в 2 как сейчас.

(изменено: Евгений, 4 сентября 2012г. 13:25:52)

Re: Внутренний язык объектов СПДС

Вот вот, я с этими Vleft, Vfront так намучался, постоянно подбирать что есть что...как-то с исполнениями информативней получается. А то тот, который с лева, и другой который с верху, это тяжело в работе )))
ООО! Ее оказывается надо было вон куда засунуть, а я её по привычке в ActHeader писал! Супер, у меня ни одного объекта нет с вектором, я уже давно хотел отключить этот запрос!

Подскажите, а возможность добавлять параметры в свои функции так и не появилась?
Так не хватает округления к ближайшему целому...приходится использовать эту каракатицу... )
if (W10-int(W10)> int(W10+1)-W10 ){W10=int(W10+1);}
else{W10=int(W10);};

Re: Внутренний язык объектов СПДС

Евгений пишет:

Подскажите, а возможность добавлять параметры в свои функции так и не появилась?
Так не хватает округления к ближайшему целому...приходится использовать эту каракатицу...

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

Re: Внутренний язык объектов СПДС

Выпустили nanoCAD СПДС 4.0 там у объектов появились ручки, но с помощью них объект можно только отразить. Добавят ли выпадающие списки?

Re: Внутренний язык объектов СПДС

Игорь Важинский пишет:

Добавят ли выпадающие списки?

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

Re: Внутренний язык объектов СПДС

Добрый день. У меня возник вопрос по поводу наличия двух таблиц, в одном объекте.
Есть в объекте таблицы, обладающие одними и теми же параметрами.
Мне надо заставить функцию работать то с одной таблицей, то с другой.
   
function MarkirovkaKUB{
    if(Isp3 == 0){IspA3 = ""; Poz = Tip+IspA5}
    else{
        IspA3 = "-"+string(Isp3); Poz = Tip+"-"+Isp3+IspA5;
    };   
    if(A>=B){Mark1 = IspA2+Isp1+A/100+"-"+B/100+IspA4+IspA3+Isp+Isp2;};
    if(B>A) {Mark1 = IspA2+Isp1+B/100+"-"+A/100+IspA4+IspA3+Isp+Isp2;};
    LoadInCache(Table1.Test); //хочу загрузить параметр Тест из таблицы номер 1
    SelectInCache("1","kFirst", "Test","=",Mark1); // выбираю из кэша опятьиз таблицы 1
    if ( Mark1 != Table1.Test){
        Obozn="ХХХ";
        if(Perf == "Отсутствует"){Isp2 = "";}
        else{Isp2 = "п";};
        Mark=IspA2+Isp1+IspA6+IspA4+IspA3+Isp2+IspA5;
        if(A>=B) {Mark1 = IspA2+Isp1+A/100+"-"+B/100+IspA4+IspA3+Isp2+IspA5;};
        if(B>A)  {Mark1 = IspA2+Isp1+B/100+"-"+A/100+IspA4+IspA3+Isp2+IspA5;};
    }
    else {
        Obozn=Table1.Ob1;
        Mark=Table1.Ser;
    };
};

Вроле бы в хелпе так описан функционал. Но почему-то не работает...
Поясните пожалуйста )

Re: Внутренний язык объектов СПДС

А исходники можно?

Re: Внутренний язык объектов СПДС

Евгений пишет:

    SelectInCache( "1" ,"kFirst", "Test","=",Mark1); // выбираю из кэша опятьиз таблицы 1

кавычки лишние
SelectInCache( 1 ,"kFirst", "Test","=",Mark1);

==========
LoadInCache можно не объявлять и так работает в SPDS 8

Re: Внутренний язык объектов СПДС

Mark1 то же в кавычкм
правильно так:
SelectInCache( 1 ,"kFirst", "Test", "=", "Mark1");

(изменено: Евгений, 30 января 2014г. 13:02:39)

Re: Внутренний язык объектов СПДС

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

Корректная запись все таки вот:
SelectInCache( 1 ,"kFirst", "Test","=",Mark1);