Как стать автором
Обновить
1
0
Владимир @Massaraksh147

Пользователь

Отправить сообщение

Извиняюсь, ссылка на файл стала битой, новая ссылка:

https://cloud.mail.ru/public/4FCS/9V1aM41Ls

Так через ардуино-isp можно прошивать уже очень многое. У меня программатор на ней линейки attiny13, линейки attiny84, линейки atmega8, линейки atmega16 - хватает на все случаи жизни.

Понятно, я и имел в виду встроенный драйвер. Но у меня вопрос скорее практический, нежели теоретический. В теории я знаю - как, на практике на Delphi не получается.

Много времени прошло, но всё же попробую задать вопрос: А без драйвера и на Delphi можно получить доступ к самодельному HID-устройству? Интересует посылка нескольких байт на него и получение ответа.

У меня меньше, скорее, километры.

Этого не могу себе позволить. Там карта.

МНК, естественно, надо будет применить. Вопрос в выборе самого преобразования.

Боюсь, неточно будет. Погуглил сейчас, видимо, билинейное надо использовать.

Спасибо. Вопрос: если требуется аффинное преобразование на плоскости не для трёх точек (треугольника), а больше - как в этих случаях поступают? Мне в голову не приходит ничего, кроме как провести триангуляцию фигуры. Но при этом могут возникнуть артефакты. Есть другие способы?

Нет, я, наверное, немного неправильно выразился. В VBA я моделирую решение оффлайн, и когда добиваюсь устойчивой работы, переношу алгоритм в онлайн на основной язык. Я бы даже так сказал: для меня это средство быстрой отладки алгоритмов (Вот, это точнее).

VBA порой действительно бывает полезен для быстрого моделирования каких-то решений, которые неохота сразу писать на основном языке. Поскольку всё сразу наглядно.

Да, мазохистов здесь много.

Ну да, ну да. "Плюйте на меня, я всё равно в баню иду"

И, главное, что мне их ответ? Я это и без них знал. А надо сделать так, чтобы рассчитывалось правильно в любом случае.

Ну да, так и вынужден делать. А потом удалять.

unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ComObj, ksTLB, LibTool, LIBdb, LDefin2D, LDefin3D, ksConstTLB,
  Vcl.StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  procedure PrepareKompas;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

var kompas:KompasObject;
Model: ksDocument3D;
Part: ksPart;
PlaneXY, Sketch: ksEntity;
SketchDefinition: ksSketchDefinition;
Document2D : ksDocument2D;
PlaneOffsetDefinition: ksPlaneOffsetDefinition;

procedure TForm2.PrepareKompas;
begin
Kompas:= KompasObject( CreateOleObject('Kompas.Application.5') );
Model:=ksDocument3D(kompas.Document3D());
Model.Create(FALSE,TRUE);
Part:=ksPart(Model.GetPart(pTop_Part));
end;

procedure TForm2.Button1Click(Sender: TObject);
var t1,t2:double;s:string;
begin
PrepareKompas;
PlaneXY:=ksEntity(Part.GetDefaultEntity(o3d_planeXOY));

Sketch:=ksEntity(Part.NewEntity(o3d_sketch));
SketchDefinition:=ksSketchDefinition(Sketch.GetDefinition());
SketchDefinition.SetPlane(PlaneXY);
Sketch.Create();
Document2D:=ksDocument2D(SketchDefinition.BeginEdit());

s:='^(Arial)A~';
t1:=Document2D.ksGetTextLength(s,1);

s:='^(Times New Roman)A~';
t2:=Document2D.ksGetTextLength(s,1);

Memo1.Lines.Add(FloatToStr(t1));
Memo1.Lines.Add(FloatToStr(t2));

SketchDefinition.EndEdit();
kompas.Visible:=True;
end;

end.

Если при этом в самом тексте есть переключение шрифта, оно игнорируется. При этом ksGetTextLengthFromReference нормально работает, но приходится потом удалять не нужные объекты.

Какой тест? У этой функции только один параметр - это сам текст (ну ещё и стиль, но он здесь не при чём). Какой шрифт она при этом берёт? Естественно, умолчательный.

1

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность