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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как сделать, чтобы блок вставлялся автоматом

Как сделать, чтобы блок вставлялся автоматом

Ответ
Поиск в этой теме
Непрочитано 17.12.2003, 10:57 #1
Как сделать, чтобы блок вставлялся автоматом
Baron
 
Регистрация: 17.12.2003
Сообщений: 114

Всех приветствую
Такой вопросик: как сделать, чтобы блок вставлялся автоматом(допустим по имени) и в необходимые координаты
Спасибо, что не отказали.............
Просмотров: 8219
 
Непрочитано 17.12.2003, 11:06
#2
Mikhail

инженер-технолог (ГИП)
 
Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,116


А на сколько автоматом? при нажатии кнопочки или по какому то действию? Если так то просто можно прописать вставку блока либо в меню либо в макросы или кнопочку сделать.
А нужные координаты это какие? Их указывать надо, или комп их высчитать должен?
Mikhail вне форума  
 
Автор темы   Непрочитано 17.12.2003, 11:26
#3
Baron


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


Знал бы что прописать кнопку бы сляпал...
Координаты я думаю можно будет сделать шаблонные(а если можно посчетать было бы еще лучше)
Baron вне форума  
 
Непрочитано 17.12.2003, 11:35
#4
Mikhail

инженер-технолог (ГИП)
 
Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,116


Я для вставки блока в меню делаю вот так:

***POP1
**Арматура
[Арматура]
[Краны шаровые]
/// вот это команда вставки блока [dу=15 верх]^C^C^C-INSERT;G:/BLKS/РАЗВОДКА/АРМАТУРА/3pc_P_15.dwg;

Дальше потом просто посмотреть что надо. или в саммом блоке прописать точку вставки. или далее прописать еще команду перемещения...
Надеюсь тут еще поумнее меня тебе поможет, а то я и соврать могу;-)
Mikhail вне форума  
 
Автор темы   Непрочитано 17.12.2003, 14:12
#5
Baron


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


Спасибо я уже, по-моему сказал...........
А при вставке блока от диалога можно уйти?
(Об'ясню немного ситуацию: нужно, чтобы было, как можно меньше действий)
Если у кого есть мнения, буду признателен
Отдельное спасибо for Mikhail
Baron вне форума  
 
Непрочитано 17.12.2003, 18:08
#6
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Чтобы было поменьше действий надо пользоваться не командой INSERT, а каким то приложением к Автокаду, в командах которого под одно нажатие кнопочки объединено выполнение нескольких десятков команд: Line, Circle, Insert etc.
Alan вне форума  
 
Непрочитано 17.12.2003, 19:45
#7
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


У меня это сделано так. Одна програмка (вернее их много):
Код:
[Выделить все]
(defun c:xxx (/)
  (command "-insert" "c:/program files/......./yyyyy.dwg" "s" sca "")
  (princ)
  )
ххх- название соответствующей програмки (и вызов ее с клавы)
yyy- имя файла в котором вычерчен блок
Вставка, блока начинаеться сразу с его движения, после вставки блок переходит в режим вращения.

Блоки вставляються с масштабом заданным, для всех аналогичных блоков програмкой:
Код:
[Выделить все]
(defun symbscale ()
  (setvar "cmdecho" 0)
  (setq sca (getreal "\nEnter symbols scale: "))
  (princ)
)
Все програмки привязаны, к кнопочкам. Вввел в начале сеанса работы, масштаб, потом все значки (это символы для слаботочки) вставляються, с единым масштабом, тащаться куда надо и сразу разворачиваються.
{Smirnoff} вне форума  
 
Непрочитано 18.12.2003, 11:19
#8
kos

LISP-программист
 
Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238


Fantomas'у:
в функцию c:xxx необходимо вставить проверку наличия блока в рисунке,
Код:
[Выделить все]
(tblsearch "BLOCK" "имя_блока")
или проверку наличия на диске файла, который будет вставляться как блок,
Код:
[Выделить все]
(findfile "имя_файла.dwg")
и если нужного блока нет (не определен) выдать соответствующее сообщение или же втихую сформировать блок (опять же если известно что он должен из себя представлять).
__________________
Там все есть для счастья - меня там только нет.
Так это значит, что я там - буду!
kos вне форума  
 
Автор темы   Непрочитано 18.12.2003, 11:29
#9
Baron


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


For ALAN: Спасибо, но ответ Ваш, вряд ли пригодиться, что что-то, где-то надо как-то я это понимаю сам
For Fantomas:

"Блоки вставляються с масштабом заданным, для всех аналогичных блоков програмкой:
Код:
(defun symbscale ()
(setvar "cmdecho" 0)
(setq sca (getreal "\nEnter symbols scale: "))
(princ)
)
" чем отличается от "_insert" у меня тот же результат
Baron вне форума  
 
Непрочитано 31.12.2003, 00:37
#10
Startrek

AutoCAD/AutoLISP
 
Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133


>Fantomas
Hey ja ved' tozhe bil RIZHANINOM - 22 goda s gakom
cherkni na [email protected]
Startrek вне форума  
 
Непрочитано 31.12.2003, 03:08
#11
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Fantomas> И я был и рижанином (в розовом детстве), и даугавпилсчанином (школу там закончил). Поэтому и попросил написать про Латвию, а ты обещал ведь. С новым годом!
Vova вне форума  
 
Непрочитано 01.01.2004, 20:01
#12
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>Vova Я не забыл. Сегодня вечером сяду и напишу. Вы наверное не в 2 строчках хотите, а написать есть что.

>Startek Ждите, будет. Читайте также новую тему дла Vova.

>Baron. Эта програмка, только устанавливает масштаб вставки блоков SCA, которые вставляються програмками которые выше. Кстати это я по моему в первую неделю занятий AutoLISP написал и оставил потому что работает. Функция всавки должна выглядеть примерно так:
Код:
[Выделить все]
(defun c:xxx (/)
(setvar "cmdecho" 0)
(if (not sca)(setq sca 1))
(if (equal nil (tblsearch "block" "название_блока")) (command "-insert" "c:/program files/......./yyyyy.dwg" "s" sca "") (command "-insert" "название_блока" "s" sca pause))
(princ)
)
(Я сразу же предположил что меня поправят, ну например kos или vh)

Применение этому у меня, это куча кнопочек с символами устройств, для сигнализации, контроля доступа, видеонаблюдения и т. д. Удобство в том что, я одновременно выставляю масштаб для всех символов одновременно и не только для них, к этому масштабу я привязываю и размер шрифтов и расстояние между проводами и еще некоторые вещи. Работать то приходиться в основном на чужих чертежах, а "товарищей" которые в метрах или в миллиметрах в масштабе 1:100 чертят хватает, (и где их учат?). Так что мне это необходимо.

Цитата:
как сделать, чтобы блок вставлялся автоматом(допустим по имени) и в необходимые координаты
Вот это поясните поподробнее. Я так понимаю что вставлять вы хотите нечто статическое типа рамки? Ну набрали вы название блока, а масштаб, угол, и точка вставки должны быть постоянными? Кстати если речь идет о рамках, то "по правильному" нужно сделать несколько шаблонов для пространства листа, есть еще несколько программ для создания рамок.

>kos Естественно, если писать под других, надо делать всевозможные проверки, чем я и занимаюсь, и как минимум 1/3 кода и более состоит из этого. В данном случае, все было в самом начале и под себя, когда 100% знаешь что файл существует... Вообще рад когда меня по делу поправляют. Спасибо.
{Smirnoff} вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как сделать, чтобы блок вставлялся автоматом

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

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