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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Создание нового типа линий

Создание нового типа линий

Ответ
Поиск в этой теме
Непрочитано 04.03.2004, 12:16 2 |
Создание нового типа линий
Apelsinov
 
Проектировщик ВК. LISP-любитель.
 
Москва
Регистрация: 15.12.2003
Сообщений: 1,186

На форуме достаточно часто появляются вопросы по поводу создания типов линий в автокад. Хочется разобраться с этим вопросом получше.
Как это делаю и понимаю я:
Для начала определимся с понятиями - существуют два типа линий - простые и сложные.
1. Простые - типы линий описываемые только файлом *.lin соответствующим синтаксисом. Это достаточно просто. Пишется сразу ручками в файле, либо с помощью команды express "mkltype". Как писать - рассматривать не будем, т.к. это и правда просто. Для тех, кто хочет разобраться, советую поэкспериментировать с этой командой и посмотреть результаты в файле *.lin, единственное дополнение - команда иногда выдает не совсем то что от нее требуешь, но возможно, это просто я не до конца в ней разобрался, приходится подправлять результат непосредственно в файле.
2. Сложные - типы линий с вставленными графическими примитивами. Соответственно, сам тип линии описывается в файле *.lin, а примитивы в файле *.shx - получаемым компиляцией (команда compile) исходного файла *.shp. C синтаксисом описания форм в *.shp я сам до конца не разобрался, но создаю это описание с помощью express команды mkshape, то есть рисую в акаде необходимый набор примитивов, и перевожу его mkshape в файл *.shp.
Итого - рисуем примитивы, переводим их в *.shp, компилируем, создаем нужный *.lin (mkltype) , ручками вписываем в него ссылку на формы в *.shx, сохраняем, загружаем в акад. Все.

Есть способы проще?
Просмотров: 632150
 
Непрочитано 26.01.2010, 10:28
#81
Tanto


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


Точно, упустил это.
Спасибо.

----------------------
Новая проблема:
Всё скомпилировалось. В lin прописал ссылки на новый shx.
При попытке подгрузить данный lin в Автокад, выдаёт ошибку: "неверное определение <имя формы> " во второй строке каждого описания типа линий.
Кусок кода shp:

Код:
[Выделить все]
;
*7,52,KOROB
3,126,2,8,(94,16),8,(94,16),8,(1,0),
1,8,(126,0),8,(0,-64),8,(-126,0),8,(0,64),
2,8,(79,0),8,(79,0),1,8,(-32,0),
2,8,(-126,0),1,8,(-31,0),2,8,(-79,-16),
8,(-79,-16),0

;
*8,36,LOTOK
3,126,2,8,(94,16),8,(94,16),8,(1,0),
1,8,(0,-64),8,(126,0),8,(0,64),2,
8,(-105,-11),8,(-105,-11),8,(-105,-11),8,(0,1),
0
Кусок кода lin-файла:

Код:
[Выделить все]
;
*Korob,---Проводка в коробе---
A,1e-064,[KOROB,Cable's_Lines.SHX,S=100],400

*Lotok,---Проводка в лотке---
A,1e-064,[LOTOK,Cable's_Lines.SHX,S=100],400
Если в lin-файле описать только одну линию и прописать там ссылку на shx-файл, содержащий одну форму, то автокад подгружает без проблем.

Прошу помощи

Последний раз редактировалось Tanto, 26.01.2010 в 15:45. Причина: очередной геморой
Tanto вне форума  
 
Непрочитано 02.02.2010, 16:48
#82
Tanto


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


Отвечаю на свой вопрос.

Как оказалось, нужно было скопировать файлы шрифтов и форм в папки "C:\Program Files\AutoCAD 10\UserDataCache\Support\" и
"C:\Documents and Settings\<профиль>\Application Data\Autodesk\AutoCAD 2010\R18.0\rus\Support\"
Tanto вне форума  
 
Непрочитано 03.02.2010, 09:03
#83
DimAS]/[K

конструктор
 
Регистрация: 11.11.2006
Находка
Сообщений: 99
Отправить сообщение для DimAS]/[K с помощью Skype™


ну можно просто для своих форм создать папку и прописать путь в настройках акада, так будет проще, я например создавал себе типы линий и мне постоянно надо было обращаться к файлам форм при добавлении
DimAS]/[K вне форума  
 
Непрочитано 04.02.2010, 12:38
#84
Tanto


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


Тоже вариант.
Tanto вне форума  
 
Непрочитано 03.03.2010, 15:03
#85
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Как создать сложный тип линии, чтобы форма всегда находилась в начале и в конце линии?
Сейчас у меня положение формы все время "плавает", и в обычном случае не оказывается в начале линии. А в конце и подавно - вообще никогда.
Например, мой тип линии для лесополос, который должен состоять только из окружностей и пробелов:

*Полосы древесных насаждений
A,0,[CRCL1,proba0.shx,s=0.4],-3

В принципе, форма может быть любой, т.к. эта проблема у меня стоит для многих стилей. Главное, чтобы форма оказывалась в начале и в конце.

Моя форма в файле proba0.shx.
Вложения
Тип файла: dwg
DWG 2004
лесополоса.dwg (200.1 Кб, 11142 просмотров)
Тип файла: rar proba0.rar (121 байт, 270 просмотров)

Последний раз редактировалось АлексЮстасу, 03.03.2010 в 15:14.
АлексЮстасу вне форума  
 
Непрочитано 08.04.2010, 08:33
#86
maratgt


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


Добрый день.Хотел создать следующий тип линии- толстая линия трубы+буквенное обозначение+ тонкая зигзагообразная линия изоляции. Получилось нечто похожее но:
1)в варианте линии "5" если задать тощину линии 0,4 получается все толстое, включая изоляцию!
2) В варианте линии 6 получилось все как надо, но, опять но, линия чертится дискретными отрезками. Условное говоря если длина линии 1 То все выглядит как надо, если меньше или больше 1 то часть линии равной 1 чертиться толстая труба + тонкая изоляция, а оставшаяся часть тонкой линией. В варианте линиии 5 подобная дискретность отсутствует.
Как объединить достоинства 2 вариантов исключив их минусы??
Вложения
Тип файла: rar Новая папка (3).rar (32.8 Кб, 242 просмотров)
maratgt вне форума  
 
Непрочитано 08.04.2010, 14:08
#87
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от maratgt Посмотреть сообщение
Добрый день.Хотел создать следующий тип линии- толстая линия трубы+буквенное обозначение+ тонкая зигзагообразная линия изоляции. Получилось нечто похожее но:
1)в варианте линии "5" если задать тощину линии 0,4 получается все толстое, включая изоляцию!
2) В варианте линии 6 получилось все как надо, но, опять но, линия чертится дискретными отрезками. Условное говоря если длина линии 1 То все выглядит как надо, если меньше или больше 1 то часть линии равной 1 чертиться толстая труба + тонкая изоляция, а оставшаяся часть тонкой линией. В варианте линиии 5 подобная дискретность отсутствует.
Как объединить достоинства 2 вариантов исключив их минусы??

Опишите базовую линию обычным шрих-пунктиром, а не формой. Тогда, вычерчивая полилинией, а не отрезками, можно назначить трубопроводу нужную толщину - Global Width. При этом трубопровод будет целиковым, а не рассыпется на отрезки, и толщина будет только у базовой линии, а остальные элементы тонкими.
АлексЮстасу вне форума  
 
Непрочитано 08.04.2010, 14:17
#88
maratgt


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


А с примером как это сделать без форм?
maratgt вне форума  
 
Непрочитано 08.04.2010, 14:24
#89
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от maratgt Посмотреть сообщение
А с примером как это сделать без форм?
"Без форм" - я имею в виду только без формы утолщенной базовой линии. А изоляцию и подпись, кенечно же, нужно оставить.
И я бы описал подпись и изоляцию раздельно.
АлексЮстасу вне форума  
 
Непрочитано 08.04.2010, 14:32
#90
maratgt


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


Я сделал линию 5 без форм утолщенной базовой линии, при вычерчивании ее полилининией получается следущая петрушка сама линия остается тонкой, зато дискретные хвосты делаются толстыми.

Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
И я бы описал подпись и изоляцию раздельно.
Каким образом??
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 622
Размер:	36.6 Кб
ID:	36971  
maratgt вне форума  
 
Непрочитано 08.04.2010, 14:35
#91
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от maratgt Посмотреть сообщение
Я сделал линию 5 без форм утолщенной базовой линии, при вычерчивании ее полилининией получается следущая петрушка сама линия остается тонкой, зато дискретные хвосты делаются толстыми.
Каким образом??
По-видимому, эти "дискретные хвосты" описаны формой.
АлексЮстасу вне форума  
 
Непрочитано 08.04.2010, 14:39
#92
maratgt


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


Этих хвостов вообще нет в форме и откуда они взялись и как с ними бороться я не знаю... пока.
Вот сама форма
Вложения
Тип файла: dwg
DWG 2007
Чертеж2.dwg (73.7 Кб, 11031 просмотров)
maratgt вне форума  
 
Непрочитано 08.04.2010, 14:49
#93
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от maratgt Посмотреть сообщение
Этих хвостов вообще нет в форме и откуда они взялись и как с ними бороться я не знаю... пока.
Вот сама форма
Похоже, что наоборот: "хвосты" - и есть Global Width, а тонкая линия - часть формы. Поэтому она и не утолщается Global Width.
Уберите из форм базовую линию вообще, описывайте ее обычно - штрих/пунктир.
АлексЮстасу вне форума  
 
Непрочитано 09.04.2010, 15:24
#94
maratgt


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


Если убрать из shape формы базовую линию и оставить там зигзаг и буквенное обозначение. то как эти 2 элемента вставить в описание линии?
Во всех примерах вставляют только что нибудь одно!
maratgt вне форума  
 
Непрочитано 09.04.2010, 18:44
#95
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от maratgt Посмотреть сообщение
Если убрать из shape формы базовую линию и оставить там зигзаг и буквенное обозначение. то как эти 2 элемента вставить в описание линии?
Во всех примерах вставляют только что нибудь одно!
Форм может быть в одном стиле сколько угодно (больше одной).

Например:
A,500,[sigsag,D:\PROFILES\User\Рабочий стол\Новая папка (2)\5,s=1],700,-100[text,D:\PROFILES\User\Рабочий стол\Новая папка (2)\5,s=1],-100

Все названия форм и расстояния - от балды.
АлексЮстасу вне форума  
 
Непрочитано 09.04.2010, 21:44
#96
maratgt


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


Спасибо за идею! Получилось очень даже ничего!
Но.... как всегда есть но. Толстая основная линия получается только при использовании полилинии с некой заданной толщиной!
Как сделать так что бы то же самое получалось при черчении обычной линией. Использовать полилинию в моем случае нельзя. Только простые линии.
И еще можно ли объединить несколько файлов shape форм в один?
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.jpg
Просмотров: 454
Размер:	3.3 Кб
ID:	37069  
maratgt вне форума  
 
Непрочитано 10.04.2010, 02:26
#97
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от maratgt Посмотреть сообщение
Спасибо за идею! Получилось очень даже ничего!
Но.... как всегда есть но. Толстая основная линия получается только при использовании полилинии с некой заданной толщиной!
Как сделать так что бы то же самое получалось при черчении обычной линией. Использовать полилинию в моем случае нельзя. Только простые линии.
И еще можно ли объединить несколько файлов shape форм в один?
Альтернативы для задания утолщения линии:
1. При задании толщины через вес, утолщаются все элементы.
2. Утолстить с помощью Global Width можно только полилинию, но утолстится только базовая линия, остальные элементы не утолстятся.
3. Утолстить, задавая базовую линию формой или несколькими одинаковыми формами.

Мы уже попробовали все три варианта, но 3-й вариант с формами меньшей длины - еще нет. Может быть получится подходяще.
Например, сделать форму штриха до зигзага, для зигзага, после зигзага. Несколько форм может лучше укладываться в короткие отрезки.
Попробовать можно.
Но выбирать придется из имеющегося...

Почему нельзя полилинии? Что за напасть? Я б так вообще отрезки не использовал. (хотя, здесь есть целая здоровенная ветка о линиях contra полилиний).

А шейп-файл, конечно же, можно (да и чаще всего - лучше) делать один - для любого числа форм. См., например, пост #69 здесь же.
АлексЮстасу вне форума  
 
Непрочитано 10.04.2010, 11:52
#98
maratgt


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


Попробую слепить из нескольких shape форм.
По полилииям проблема в том что я хочу использовать этот тип линии в магикаде, а он не понимает полилинии, только простые.
Так что для автокада линия есть, буду дальше развивать идею.
По поводу объединения не совсем понял.
Если я правильно понял -там советуют несколько типов линий объединить в файл с расширением lin, файлы с расширением shp в файл с расширением shp.
А что делать с файлами с расширением shx, они не открываются текстовыми редакторами

P.S. попробовал разбить линия на элементы. В принципе получилось тоже самое что и без разбивки. Только гемора побольше. Опять вылезли тонкие хвосты. Тут видимо нужен совсем другой подход
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.jpg
Просмотров: 340
Размер:	2.9 Кб
ID:	37082  

Последний раз редактировалось maratgt, 10.04.2010 в 13:13.
maratgt вне форума  
 
Непрочитано 10.04.2010, 13:23
#99
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от maratgt Посмотреть сообщение
По полилииям проблема в том что я хочу использовать этот тип линии в магикаде, а он не понимает полилинии, только простые.
А что делать с файлами с расширением shx, они не открываются текстовыми редакторами
Перед передачей файла в "магикад" полилинии можно разбить.

Файл shx редактировать ине нужно. Файл shx является результатом компиляции файла shp. Скомпилируете общий shp - получите общий shx.

"Тонкие хвосты" могут вылезать тогда, когда базовая линия описана одновременно и формой, и обычно. Изберите только один способ.

Последний раз редактировалось АлексЮстасу, 10.04.2010 в 13:53.
АлексЮстасу вне форума  
 
Непрочитано 10.04.2010, 15:56
#100
maratgt


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Перед передачей файла в "магикад" полилинии можно разбить.
Как раз все обстоит наоборот. Файл изначально чертиться в магикаде и линия используется именно при работе в магике.
Я пробовал базовую линию сделать толстой путем размножения ее массивом и загнал в форму.Обычным способом я ее не описывал.
Но в описании файла всегда после A должно идти положительное число. Сразу форму писать нельзя. значит число можно сделать маленьким, но до определенного пробела и оно хоть и сильно уменьшенное все равно будет присутствовать в линии.
Но можно будет поэкспериментировать
maratgt вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Создание нового типа линий

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание нового материала в AutoCAD 2008 termit-spb AutoCAD 1 21.12.2009 22:14
Создание нового стиля таблиц AutoCAD 2006 (VL) Дмитрий Голованов Программирование 21 20.12.2009 02:37
Как отключить создание каждый раз нового файла .bak при нажатии на кнопку "Сохранить" или при закрытии любого файла .dwg в Автокад 2008? gve2005 AutoCAD 4 30.10.2009 10:30
ГОСТ на ванты и оттяжки ??? зщцук? Поиск литературы, чертежей, моделей и прочих материалов 1 17.05.2005 06:53
Загрузка типа линии из макроса Кулик Алексей aka kpblc Программирование 4 24.01.2005 14:57