Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Из DXF в OpenGL

Из DXF в OpenGL

Ответ
Поиск в этой теме
Непрочитано 25.09.2006, 23:26 #1
Из DXF в OpenGL
C1
 
Регистрация: 13.06.2005
Сообщений: 314

Как бы сделать загрузку файла DXF в OpenGL? Видел где-то функцию LoadDXF? Нет ли примера?
Просмотров: 3846
 
Непрочитано 26.09.2006, 08:32
#2
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


dxf - текстовый, хорошо документированный формат, грузи нехочу
OpenGL - графическая 3д библиотека, грузить в нее ниче ненадо, нужно отображать(рисовать) ее средствами
пример загрузки линии на delphi

procedure GDBObjLine.LoadFromDXF;
var
byt,code: GDBInteger;
begin
byt:=readmystrtoint(f);
while byt <> 0 do
begin
if not LoadFromDXFObjShared(f,byt) then
if not dxfvertexload(f,10,byt,CoordInOCS.lBegin) then
if not dxfvertexload(f,11,byt,CoordInOCS.lEnd) then f.readworld(#10, #13);
byt:=readmystrtoint(f);
end;
format;
end;

function GDBObjVisible.LoadFromDXFObjShared(var f:filestream;dxfcod:GDBInteger):GDBBoolean;
var s:GDBString;
begin
result:=false;
if dxfcod=8 then begin vp.Layer :=gdb.LayerTable.getLayerIndex(readmystr(f)); result:=true end
else if dxfcod=370 then begin vp.lineweight :=readmystrtoint(f); result:=true end;
end;

function dxfvertexload(var f:filestream;dxfcod,currentdxfcod:GDBInteger; var v:gdbvertex):GDBBoolean;
var s:GDBString;
begin
result:=false;
if currentdxfcod=dxfcod then begin v.x:=readmystrtodouble(f); result:=true end
else if currentdxfcod=dxfcod+10 then begin v.y:=readmystrtodouble(f); result:=true end
else if currentdxfcod=dxfcod+20 then begin v.z:=readmystrtodouble(f); result:=true end;
end;

function readmystrtoint(var f:filestream):GDBInteger;
var code:GDBInteger;
s:GDBString;
begin
result:=0;
s := f.readworld(#10, #13);
val(s,result,code);
end;
zamtmn вне форума  
 
Автор темы   Непрочитано 26.09.2006, 08:44
#3
C1


 
Регистрация: 13.06.2005
Сообщений: 314


С линиями все просто. А как загружать, например, сурфейсы или штриховку?
C1 вне форума  
 
Непрочитано 26.09.2006, 09:01
#4
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


что такое сурфейс?
помоему штриховка в dxf12 сделана анонимным блоком, те, если у тебя сделана загрузка блоков, то штриховку ты увидишь. в dxf2000 вроде ее нужно самому генерировать. сугубо ИМХО, штриховку никогда не грузил
zamtmn вне форума  
 
Автор темы   Непрочитано 26.09.2006, 09:41
#5
C1


 
Регистрация: 13.06.2005
Сообщений: 314


zamtmnСпасибо за ответы.
Сурфейсы (Surfaces) - плоские объекты. Интересен ввод не штриховки как заливки, а плоского объекта сложной (в частности невыпуклой) формы. Точнее регионов.
C1 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Из DXF в OpenGL

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск