AddNewVariable

Автор graphdark, 29.04.25, 10:30:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

graphdark

  begin
    vars := ksVariableCollection(Part.VariableCollection);
    _var := ksVariable(vars.GetByName(md.FieldByName('name').AsString,true,true));
    if not Assigned(_var) then
    begin
      kfeat := ksFeature(Part.GetFeature);
      vars := ksVariableCollection(kfeat.VariableCollection);
      vars.AddNewVariable(md.FieldByName('name').AsString,md.FieldByName('value').AsFloat,md.FieldByName('note').AsString);
      md.Next;
      Continue;
    end;
    _var.value := md.FieldByName('value').AsFloat;
    _var.note := md.FieldByName('note').AsString;
    md.Next;
  end;
Как правильно добавить?

Lemieux

Я вот так добавлял переменные

Variable7 variable = topPart.AddVariable("CrossSection", 2, "Сечение проводника");

graphdark

Цитата: Lemieux от 29.04.25, 14:09:07Я вот так добавлял переменные
Это питон? На самом деле ребилд добавил и завелось.

Lemieux

Цитата: graphdark от 30.04.25, 14:53:03Это питон? На самом деле ребилд добавил и завелось.
C#

По Вашему методу у меня не получалось добавлять.

graphdark

Цитата: Lemieux от 30.04.25, 14:57:14C#

По Вашему методу у меня не получалось добавлять.

по имени переменной подумал вы к ksPart добавляете переменную.

p3452

#5
ИМХО.
Чтобы работать с переменными Компас, нужно, как минимум, понимать какие есть переменные.

p/s: Четыре вида переменных...

graphdark

Цитата: p3452 от 30.04.25, 16:44:56ИМХО.
Чтобы работать с переменными Компас, нужно, как минимум, понимать какие есть переменные.

p/s: Четыре вида переменных...
внешние, информационные, не внешние и ...

ps; тип один. double и все. Или новое что-то?

p3452

Цитата: graphdark от 01.05.25, 09:27:50внешние, информационные, не внешние и ...

ps; тип один. double и все. Или новое что-то?
Ну.., при таком "уровне" проще показать:
Переменные.png

graphdark

Цитата: p3452 от 01.05.25, 23:16:24Ну.., при таком "уровне" проще показать:
Переменные.png
Уже и забыл насколько токсично тут... Вы не понимаете разницу в типах данных. Есть целочисленный тип, с плавающей точкой, строковый тип и тд. В компасе только тип с плавающей точкой, ну и целочисленный.

p3452

graphdark, читать научитесь(!), может и "токсичность" пройдет!
Где Вы нашли хотя бы упоминание о "типах" переменных?
Цитата: p3452 от 30.04.25, 16:44:56ИМХО.
Чтобы работать с переменными Компас, нужно, как минимум, понимать какие есть переменные.
p/s: Четыре вида переменных...

graphdark

Цитата: p3452 от 02.05.25, 11:45:07Четыре вида переменных...
оукей. Что такое вид переменных? Значит ли это, что имея kspart верхнего уровня-я не доберусь до них?

p3452

Цитата: graphdark от 02.05.25, 12:38:33Значит ли это, что имея kspart верхнего уровня-я не доберусь до них?
А Вы попробуйте...

graphdark

  _var := ksVariable(vars.First);
  while num <> md.RecordCount do
  begin
    s := _var.name;
    if not md.Locate('name',s,[]) then
      vars.RemoveVariable(_var.name);
    num := vars.GetCount;
    _var := ksVariable(vars.Next);
  end;
Как правильно по списку переменных бегать, чтобы удалить по условию?