|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
29.08.2013, 11:57 | #1 | |
Проблема с базовой точкой блока и вхождением блока в DXF
Россия
Регистрация: 29.08.2013
Сообщений: 3
|
||
Просмотров: 6288
|
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
Ниче не понял. Хотябы версию dxf скажите и приложите пример с 1 проблемным блоком состоящим из 1 простого примитива. в модели укажите места где он отображается в автокаде и где в вашей программе.
ЕМНИП базовая точка есть в описании блока. Скорее всего проблема в том, что координаты вставки хранятся не в мировой, а в системе координат объекта |
|||
|
||||
Регистрация: 29.08.2013
Россия
Сообщений: 3
|
Цитата:
BLOCK 5 121094 330 121091 100 AcDbEntity 8 0 100 AcDbBlockBegin 2 new block 3 70 0 10 0.0 20 0.0 30 0.0 3 new block 3 1 0 LWPOLYLINE 5 121095 330 121091 100 AcDbEntity 8 CX PASSAGEM 62 1 100 AcDbPolyline 90 4 70 1 43 0.0 10 57024.73222292161 20 8068.276259200919 10 57057.99639319717 20 8046.06487571341 10 57035.78500970964 20 8012.800705437797 10 57002.52083943407 20 8035.012088925306 0 LWPOLYLINE 5 121096 330 121091 100 AcDbEntity 8 CX PASSAGEM 62 1 100 AcDbPolyline 90 4 70 1 43 0.0 10 57025.0085425913 20 8066.889370356811 10 57056.60950435307 20 8045.788556043701 10 57035.50869003992 20 8014.187594281905 10 57003.90772827817 20 8035.288408595015 0 LINE 5 121097 330 121091 100 AcDbEntity 8 CX PASSAGEM 62 1 100 AcDbLine 10 57003.9077282782 20 8035.28840859502 30 0.0 11 57056.60950435309 21 8045.788556043701 31 0.0 0 LINE 5 121098 330 121091 100 AcDbEntity 8 CX PASSAGEM 62 1 100 AcDbLine 10 57025.00854259128 20 8066.889370356816 30 0.0 11 57035.50869003992 21 8014.187594281901 31 0.0 0 ENDBLK 5 121099 330 121091 100 AcDbEntity 8 0 100 AcDbBlockEnd К сожалению, мне сложно вычленить из этого месива один примитив, но так вроде все понятно. Оказывается, при создании блока все примитивы улетели куда то на координаты порядка 50000,8000. Видимо, в этом и есть проблема, базовая точка так и осталась 0,0, просто все примитивы далеко и в итоге я неверно применяю трансформации. Не пойму куда мне девать эти 50000,8000 чтобы получить верное отображение. координаты самой вставки хранятся точно в мировых координатах, например 2000, 1000. А вот координаты примитивов в блоке такие большие... |
|||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
>>К сожалению, мне сложно вычленить из этого месива один примитив
Форумчанам это сделать еще сложнее. ИМХО без "минимального" примера понять ниче не получится Всетаки проблема в том что автокад не воспринимает ваш файл должным образом или ваша программа не приемлит автокадовский файл? Обратите внимание на Цитата:
|
|||
|
||||
Регистрация: 29.08.2013
Россия
Сообщений: 3
|
Цитата:
По-моему, dxf формат прост для восприятия, и минимальный пример я дал выше в виде кода. Код блока и примитивы, которые в нем лежат. В частности, это линии и полилинии. Можно то можно, но не руками же это делать ибо файл поступает от третьих лиц, а в данный момент в этих координатах значится 0,0,0. То есть они никак не влияют на происходящее. |
|||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
>> но это мой косяк
Это естественно. и в том и другом случае. >>Вот я и хотел бы разобраться насчет последовательности применения трех операций, которые обозначены во "вхождении блока": скалирование, поворот, перенос. Разобраться можно так: сделать таки в автокаде простейший блок, повернуть его (желательно в 3D, т.к. в 2D можно пропустить некоторые особенности) и смотреть что есть в вашей программе, а что есть в автокаде. >>Точнее как это связать с координатами примитивов в блоке. Через матрицу СКО вставки блока построенную на основе нормали, переноса, поворот и т.п. >>По-моему, dxf формат прост для восприятия, и минимальный пример я дал выше в виде кода. В этом минимальном примере только определение блока. И что с тим делать? в блокноте дописывать всё остольное и смотреть как оно откроется в автокаде? А в примере постом выше несколько мегабайт "прост для восприятия" смотреть это никто даже нестанет. и да: Не мешало бы прояснить что за программа и привести куски кода обрабатывающие определения и вставки блоков |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема: Смещение аттрибута блока при открытии файла на другой машине | kakt00z | AutoCAD | 6 | 11.06.2009 23:12 |
Создание блока (проблема) | Малюк | AutoCAD | 3 | 12.09.2008 09:34 |
Проблема с многострочными атрибутами блока | vasilyis | AutoCAD | 7 | 25.05.2008 08:38 |
вставка блока в текущий слой (проблема) | Serkonst | AutoCAD | 11 | 12.01.2008 16:49 |
Проблема со вставкой блока Autocad2006 | V0vik | AutoCAD | 2 | 01.09.2006 10:16 |