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

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

Все об shx

Ответ
Поиск в этой теме
Непрочитано 09.12.2008, 10:49 #1
Все об shx
Shoorup
 
Минск
Регистрация: 16.09.2006
Сообщений: 1,587

К сожелению ничего не смог найти об shx в инете. Прямо тайна какае-то.
Даже как shx расшифровывается. (могу только предположить shape executable) Ничего не смог найти про версии shapes 1.0 и shapes 1.1.
В чем их отличие?
Может у кого есть информация на данную тему? (можно на английском)

ЗЫ. справку почитать не предлагать - знаю наизусть.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Просмотров: 4370
 
Непрочитано 09.12.2008, 17:47
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


http://cadhlp.kulichki.com/pdshx.htm
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.12.2008, 08:51
#3
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Кулик Алексей aka kpblc, вот и я про то-же. Ничего кроме давно заезженных мест нету. На автодеске вообще глухо как в танке на данную тему.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 10.12.2008, 09:26
#4
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


В общих правилах составления наткнулся на такие строки:
Цитата:
Линейные перемещения быстрее осуществляются по 16 основным направлениям
Дуговые перемещения быстрее осуществляются по целому числу октантов.
По сравнению с чем?
Я так понимаю:
Чертим например штрих вверх длинной 9
так - 8,(0,9),
или так - 094
В первом случае 3 байта, во втором 1
Усложним
Начертим штрих вверх длинной 37
8,(0,37),
0F4,0F4,074,
В первом и во вторм случае 3 байта. Что быстрее?
В справке есть такая запись:
Цитата:
Стандартные коды позволяют выполнять отрисовку линий только в 16 фиксированных направлениях, причем максимальная длина вектора равна 15 единиц. Это ограничение повышает эффективность процедуры построения форм, но подчас существенно ограничивает ее возможности.
.
Как можно проверить сие утверждение?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 10.12.2008, 11:12
#5
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Не забываем, что SHX (и кое-что ещё) разрабатывались для ранних версий AutoCAD. Тогда было доступно очень мало памяти и каждый байтик имел значение. Рисование-то тоже выполнялось по простым алгоритмам, эффективность перевода в машинные команды тоже была актуальна.

Помню как "для красоты" сделал лист общих данных шрифтом RomanT - где тройные линии с засечками. Этот лист выводился на принтер 6 часов, а с простым шрифтом типа Romans - несколько минут.

В современных условиях эта экономия уже не имеет прежнего значения, разницу в скорости и не почувствуешь. Хотя дотошный исследователь может установить Автокад-10 на древний компьютер и наглядно "ощутить разницу".

А разница в описании это: 8,(0,9), - три команды, а 094 - однакоманда. Она выполнится быстрее (хоть мы этого сейчас не уловим). Но возможности ограничены как раз небольшим выбором направлений. Для простого шрифта их достаточно, а для "с завитушками" не хватает.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 10.12.2008, 14:12
#6
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Хоть SHX и для ранних версий делались, актуальность они не потеряли.
Интересно а как AutoCAD обрабатывает SHX? Ведь по сути любая буква это набор обыкновенных линий и дуг в виде "блока" чтоли...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 10.12.2008, 15:07
#7
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Если бы AutoCAD разрабатывали сейчас, скорее всего никаких SHX не было бы - использовали бы TrueType. Во времена DOS каждая фирма делала собственные средства для отображения текстов в графическом режиме. И все несовместимые. А обработка проста - чтение из описания символа этих самых линий и дуг, где поднять перо, где опустить. В каждой книжке по программированию было подобное для разных языков.
ShaggyDoc вне форума  
 
Непрочитано 10.12.2008, 17:54
#8
zamtmn

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


Заморачивался рисованием SHP. shx насколько помню, тотже shp, только не в текстовом виде. если нужно могу дать исходники чтения-рисования неюникодных shp
zamtmn вне форума  
 
Автор темы   Непрочитано 10.12.2008, 18:14
#9
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


zamtmn, скидывай, посмотрим.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 10.12.2008, 19:00
#10
zamtmn

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


delphi+opengl. куда скидывать?
zamtmn вне форума  
 
Непрочитано 11.12.2008, 00:16
#11
Donhuan

Проектировщик СС
 
Регистрация: 24.06.2008
Минск
Сообщений: 134
<phrase 1=


Совсем недавно написал функцию (осталось отловить мелкие глюки) для динамического вывода текста посредством (grvecs) на экран. Пришлось разобраться с форматом .shx для shape и шрифта unicode (в основном для второго).

Последний раз редактировалось Donhuan, 03.01.2009 в 21:19.
Donhuan вне форума  
 
Автор темы   Непрочитано 11.12.2008, 09:34
#12
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


zamtmn, а исходники весят много?
Donhuan, а что за динамический вывод текста?
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 11.12.2008 в 09:42.
Shoorup вне форума  
 
Непрочитано 11.12.2008, 09:48
#13
zamtmn

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


в районе 2х метров
zamtmn вне форума  
 
Автор темы   Непрочитано 11.12.2008, 10:42
#14
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Сначало про форму:
-формы я встречал только двух типов shapes 1.0 и shapes 1.1 причем кад в основном кодирует форму shapes 1.0
Минимальный размер к.формы 39 байт. Причем эта форма отлично компилится и грузится в акад.
Вот она:
Код:
вот ее дамп:
Код:
[Выделить все]
4175746F4341442D38362073686170657320312E300D0A1A010001000100010002000000454F46
Разбираем
Первым идет заголовок:
AutoCAD-86 shapes 1.0
Donhuan, насчет произвольного заголовка это еще можно поспорить. Чисто экспериментально получалось делать разные заголовки версия на ура меняется. Получалось даже запускать просто НаноКАД. Но потом почемуто наглухо стал отказывать грузиться...
Мне кажется кад проверяет не весь заголовок а только его часть
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 11.12.2008 в 10:55.
Shoorup вне форума  
 
Непрочитано 11.12.2008, 14:51
#15
Donhuan

Проектировщик СС
 
Регистрация: 24.06.2008
Минск
Сообщений: 134
<phrase 1=


Цитата:
Сообщение от Shoorup Посмотреть сообщение
Donhuan, а что за динамический вывод текста?
Для использования с функцией (grread).
Donhuan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Все об shx



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рифмоплетство. Kryaker Разное 554 14.11.2023 11:59
Как скомпоновать все чертежи на 1 лист перед печатью? Помоги Pokep AutoCAD 47 06.12.2011 10:51
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
проблема .....все на одном слое ..... Startrek AutoCAD 20 20.10.2005 08:03