Набор блоков AutoCAD - Форум
Проектирование
систем связи и
сигнализации
Суббота, 03-Дек-2016, 14:33
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 512345»
Форум » Разное » Программное обеспечение » Набор блоков AutoCAD (Набор блоков для AutoCAD)
Набор блоков AutoCAD
AndreyДата: Пятница, 04-Авг-2006, 12:56 | Сообщение # 1
Администратор
Группа: Администраторы
Сообщений: 245
Репутация: 3
Статус: Offline
Имеется набор блоков для AutoCAD с обозначениями элементов слаботочных систем и файл-менюшки. После установки появляются дополнительные панели инструментов:
пожарная сигнализация,
оповещение,
охранная сигнализация,
телефонизация,
радиофикация,
СКС.
Каждая система отрисована в отдельных слоях.
Скриншот:

Рисовал все под себя.

Размер архива 6,4 Мб.
Есть ли смысл выкладывать его на сайт? Кому-нибудь это интересно?

 
NastyaДата: Пятница, 04-Авг-2006, 13:14 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 13
Репутация: 0
Статус: Offline
это более, чем интересно smile
смысл есть!
 
TrampДата: Пятница, 04-Авг-2006, 13:26 | Сообщение # 3
Подполковник
Группа: Проверенные
Сообщений: 117
Репутация: 2
Статус: Offline
Андрей, а зачем каждую систему в своём слое? Не гибче ли выставлять свойства примитивов "ByBlock"?
Это не в порядке критики, просто интересно твоё мнение.
 
AndreyДата: Пятница, 04-Авг-2006, 13:48 | Сообщение # 4
Администратор
Группа: Администраторы
Сообщений: 245
Репутация: 3
Статус: Offline
Tramp, это ты имеешь в виду LISP? Я его не использовал, не силен я в программировании под AutoСAD.
Набор состоит из блоков dwg, иконок bmp и файла-менюшки mnu.
Nastya, сейчас описание установки сочиню и выложу.
 
TrampДата: Пятница, 04-Авг-2006, 14:09 | Сообщение # 5
Подполковник
Группа: Проверенные
Сообщений: 117
Репутация: 2
Статус: Offline
Андрей, нет, не LISP. Смотри, каждый примитив имеет набор свойств - цвет, тип линии, и т.д. Каждое из этих свойств можно задать тремя способами:
1) Указать конкретно.
2) Установить по слою. В английском акаде выбрать значение "ByLayer", в русском не знаю, как это обозвато. При этом примитив принимает свойство равным значению, заданному для слоя, в который он вставлен.
3) Установить по блоку - "ByBlock". Тогда примитивы с таким значением внутри блока будут принимать свойства установленные для всего блока. Т.е. если блоку назначен красный цвет и тип линии "ByLayer", все примитивы блока, имеющие свойства "ByBlock", покраснеют и примут тип линии, назначенный слою, в который вставлен блок.

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

 
AndreyДата: Пятница, 04-Авг-2006, 14:32 | Сообщение # 6
Администратор
Группа: Администраторы
Сообщений: 245
Репутация: 3
Статус: Offline
У меня цвет, тип линий и др. так и установлены "По слою". Примитивы нарисованы в слоях "ПС", "Охрана", "СКС" и т.д. Если таких слоев нет, то они создаются автоматически.
Твой вариант я еще так и не посмотрел sad
Я тоже не агитирую за свой способ biggrin Просто делюсь своими наработками. Свой вариант я делал как раз для нашего малоквалифицированного (по АКАДу) персонала smile
 
NastyaДата: Пятница, 04-Авг-2006, 14:35 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 13
Репутация: 0
Статус: Offline
Для меня такой вариант вполне удобен, сейчас у меня вообще каждый датчик на своем слое.
 
AndreyДата: Воскресенье, 06-Авг-2006, 14:30 | Сообщение # 8
Администратор
Группа: Администраторы
Сообщений: 245
Репутация: 3
Статус: Offline
К вопросу об обозначении элементов. Все обозначения сделаны блоками. Просто большая часть блоков при вставке "разбивается". Иначе было бы сложно редактировать текст.
Подсчет блоков нужно на LISP-е делать. Я этого делать не умею.
Название элемента каждый может легко поменять на более удобное. Все элементы нарисованы в обычных dwg файлах. Посмотрите папку с распакованными файлами, думаю что там все будет понятно. Открываете нужный файл и меняете обозначения. Только имя файла не изменяйте.
 
TrampДата: Понедельник, 07-Авг-2006, 09:32 | Сообщение # 9
Подполковник
Группа: Проверенные
Сообщений: 117
Репутация: 2
Статус: Offline
Андрей, я понимаю, что задолбал со своими поучениями, но позволь позанудствую ещё, ладно? :-)

1) Необязательно разбивать блок для редактирования текста. Просто текст в блоке нужно вставлять как атрибут. ЛИСП для этого не нужен, это стандартная процедура автокад, начиная с версии R13.
2) Для подсчёта блоков ЛИСП тоже не нужен, опять же при условии, что текст в блоке присутствует в виде атрибута. Стандартная команда _eattext.

http://project-ss.ucoz.ru/load/12-1-0-39 Вот здесь проиллюстрировано, как это может работать.

 
AndreyДата: Понедельник, 07-Авг-2006, 10:28 | Сообщение # 10
Администратор
Группа: Администраторы
Сообщений: 245
Репутация: 3
Статус: Offline
Tramp, все в порядке. Я не против конструктивных замечаний и предложений!
Про вставку текста поподробнее, если можно. Лучше на каком-нибудь примере.

Про подсчет тоже, если можно, поподробнее. Как этой командой пользоваться?

Я не являюсь сильным знатоком тонкостей АвтоКАДа, и делалось все "на скорую руку" в промежутках между проектированием объектов. Целью являлось сделать простое средство чтобы народ не таскал набор обозначений из одного чертежа в другой и в то же время было максимально просто в использовании biggrin

 
TrampДата: Понедельник, 07-Авг-2006, 10:58 | Сообщение # 11
Подполковник
Группа: Проверенные
Сообщений: 117
Репутация: 2
Статус: Offline
>Как этой командой пользоваться?
Если честно, не помню, как это было в версии 2000. Команда осталась той же - eattext, а вот какой диалог она выдаст, не знаю.
Принцип примерно такой:
- Вводишь команду
- Указываешь где считать блоки (в файле целиком, в выделенном фрагменте чертежа или ещё как-то).
- Настраиваешь фильтр блоков (считать все блоки, или только с определёнными именами)
- Указываешь какие из атрибутов считать, а какие оставлять без внимания.
- Указываешь путь вывода (тип файла, имя файла, путь к нему). Этот момент сильнее других зависит от версии автокада. В 14 версии, к примеру, всё выводилось в файл txt, альтернатив не было.
- Получаешь собственно файл или таблицу (2006) с перечнем блоков.
Это если вкратце, на пальцах. Ты лучше скачай мой файл с блоками, и прямо в нём запусти команду. Автокадовские диалоги в большинстве своём интуитивно понятны, большинство вопросов сразу отпадут.

Создать атрибуты можно командой attdef. Естественно, блок должен быть предварительно сохранён в отдельный файл, и команду надо запускать из этого файла. Это до 2005 версии включительно. В 2006 добавлен редактор блоков, в нём всё гораздо проще.

Ну и почитай ещё родной автокадовский help по этим командам, получишь более полное представление, всё-таки от версии к версии есть нюансы.
Команды эти в русифицированной версии, конечно же, называются иначе, но можно вводить и английские. Только начинать их нужно с определённого префикса. Не помню точно, то ли "_", то ли "."

 
AndreyДата: Понедельник, 07-Авг-2006, 11:54 | Сообщение # 12
Администратор
Группа: Администраторы
Сообщений: 245
Репутация: 3
Статус: Offline
Понятно. Спасибо за информацию. Как будет время попробую.
 
NikeДата: Вторник, 08-Авг-2006, 14:46 | Сообщение # 13
Лейтенант
Группа: Проверенные
Сообщений: 42
Репутация: 0
Статус: Offline
Приветствую коллег по цеху!

Quote (Andrey)
Подсчет блоков нужно на LISP-е делать. Я этого делать не умею.

Вот пара программ:
1. Выбор всех одноименных блоков по образцу с выводом количества:
Code
(defun c:bsel (/ bS blok)
  (setvar "cmdecho" 0)
  (setq bS nil)
  (sssetfirst nil nil)
  (setq blok (entget (car (entsel "\nВыберите блок: "))))
  (setq bS (ssget "_X" (list (assoc 0 blok) (assoc 2 blok))))
  (sssetfirst nil bS)
  (princ (strcat "\n*** Всего выбрано " (itoa (sslength bS)) " блоков " (cdr (assoc 2 blok))))
  (princ)
)

Выполнение:
Code
Команда:BSEL
Выберите блок:
*** Всего выбрано 28 блоков Sot_03

2. Подсчет количества блоков в выделении с экспортом в TXT файл:
Code
(defun C:BLCOUNT (/ FILEPATH FILE_NAME INSLIST INSNAMES INSS LEN OUTPUT)
  (if (setq INSS (ssget '((0 . "INSERT"))))
   (progn (setq INSLIST (vl-remove-if-not 'atom (mapcar 'cadr (ssnamex INSS))))
   (setq INSNAMES (vl-sort (mapcar '(lambda (X) (cdr (assoc 2 (entget X)))) INSLIST) '<))
   (setq LEN (length INSNAMES))
   (while INSNAMES
    (setq OUTPUT (cons   (cons (car INSNAMES)
      (- LEN (setq LEN (length (setq INSNAMES (vl-remove (car INSNAMES) INSNAMES)))))
     )
     OUTPUT
   )
    ) ;_ end of setq
   ) ;_ end of while
   (setq OUTPUT (reverse OUTPUT))
   (if (setq FILEPATH (getfiled   "Save Text File As"
   (strcat (getvar "dwgprefix") (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) ".txt")
   "txt"
   33
     ) ;_ end of getfiled
     ) ;_ end of setq
    (if (setq FILE_NAME (open FILEPATH "w"))
     (progn (mapcar '(lambda (X) (write-line (strcat (car X) " " (itoa (cdr X))) FILE_NAME)) OUTPUT)
     (close FILE_NAME)
     (startapp "NOTEPAD" FILEPATH)
     ) ;_ end of progn
     (vlax-invoke-method
  (vlax-get-or-create-object "WScript.Shell")
  "Popup"
  (strcat "File: [" FILEPATH "] is busy!")
  0
  "Warning"
  16
     )
    ) ;_ end of if
   ) ;_ end of if
   ) ;_ end of progn
  ) ;_ end of if
  (princ)
) ;_ end of defun

Выполнение:
Code
Команда: blcount
Sot_02 2
Sot_03 28
Sot_12 17
cmt_00 53
prib_04 6
unif_01 10
unif_02 1
unif_05 7

 
AndreyДата: Вторник, 08-Авг-2006, 14:59 | Сообщение # 14
Администратор
Группа: Администраторы
Сообщений: 245
Репутация: 3
Статус: Offline
Nike, спасибо! biggrin
Как только появится немного свободного времени, обязательно поэкспериментирую!
 
DeimoSДата: Среда, 09-Авг-2006, 12:39 | Сообщение # 15
Сержант
Группа: Проверенные
Сообщений: 22
Репутация: 0
Статус: Offline
Интересные обозначения в разделе СКС.Больше года работал монтажником СКС, ни разу с такими обозначениями не сталкивался smile . T-разьём ??? Т образный стык короба наверное? Секция ?? Наверное блок разеток?

боротся и искать, найти и ... перепрятать
 
Форум » Разное » Программное обеспечение » Набор блоков AutoCAD (Набор блоков для AutoCAD)
Страница 1 из 512345»
Поиск:

Copyright MyCorp © 2016Сайт управляется системой uCoz