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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Простановка позиций... При помощи чего?...

Простановка позиций... При помощи чего?...

Ответ
Поиск в этой теме
Непрочитано 22.12.2005, 07:57 #1
Простановка позиций... При помощи чего?...
Chief Justice
 
Регистрация: 29.01.2004
Сообщений: 494

Если надо проставить позиции (в кружочке на кривой выноске), то что обычно используется?...
Рисовать circle и spline очень долго, использовать обычную выноску не правильно...
Что же делать?...
Может на лиспе что-то уже есть?...
Просмотров: 9471
 
Непрочитано 22.12.2005, 09:31
#2
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Держи блок и попробуй использовать Incremental Fill из Tollpak'а. Если не получится, дай знать - кину лиспу.
[ATTACH]1135233098.dwg[/ATTACH]
Лентяй вне форума  
 
Непрочитано 22.12.2005, 15:51
#3
Alan

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


Но вообще-то мало поставить позицию.
Наверное необходимо посчитать их, да и спецификацию составить. А?
Alan вне форума  
 
Автор темы   Непрочитано 22.12.2005, 16:18
#4
Chief Justice


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


Цитата:
Сообщение от Alan
Но вообще-то мало поставить позицию.
Наверное необходимо посчитать их, да и спецификацию составить. А?
Это не к AutoCAD наверное...
Мне бы хотябы кружок поставить...
Лучше всего с диалогом как у атрибута блока например...
Но чтобы spline был гибким...
Например spline по трем точкам, а потом ввод позиции...
Chief Justice вне форума  
 
Автор темы   Непрочитано 22.12.2005, 16:21
#5
Chief Justice


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


Цитата:
Сообщение от Лентяй
Держи блок и попробуй использовать Incremental Fill из Tollpak'а. Если не получится, дай знать - кину лиспу.
Не получилось...
Было бы здорово какую-нибудь такую лиспу...
Chief Justice вне форума  
 
Непрочитано 22.12.2005, 16:26
#6
str02

инженер-конструктор
 
Регистрация: 06.10.2004
питер
Сообщений: 2,722


если это арматура то есть небольшие довески, которые еще и Ведомость расхода стали на 1 элемент гостовскую сделают.
str02 вне форума  
 
Непрочитано 22.12.2005, 16:47
#7
Геннадий aka PG

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


В сборнике cadhlp есть такие проги
http://cadhlp.kulichki.com/cadhlp.htm
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Непрочитано 22.12.2005, 17:02
#8
Alan

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


Цитата:
Это не к AutoCAD наверное...
>Chief Justice
Да ну что Вы, батенька. У меня только так и работают спецификации. Ну и еще есть пару способов. Но это другая тема.
Считать пальцем по экрану - это каменный век!!!
Alan вне форума  
 
Автор темы   Непрочитано 22.12.2005, 17:06
#9
Chief Justice


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


Цитата:
Сообщение от Alan
Цитата:
Это не к AutoCAD наверное...
>Chief Justice
Да ну что Вы, батенька. У меня только так и работают спецификации. Ну и еще есть пару способов. Но это другая тема.
Считать пальцем по экрану - это каменный век!!!
Ну за чем же по экрану?...
Можно сперва распечатать...
Ну так поделитесь современными технологиями...
Chief Justice вне форума  
 
Непрочитано 22.12.2005, 18:45
#10
Alan

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


>Chief Justice
Возьмите для ознакомления ДЕМО-версию моей проги ПАРКС (всего 3,2Мб). http://www.arcada.com.ua/infot/po/arch/parks.html
Инсталяцию лучше сделать под Акад 2002, но работает и под 2004-2005. Когда установите запросите файлик меню, я пришлю. Демо делал давно (2001-2002г), меню надо обновить.
Там попробуйте хотя бы команды:
Заполнение оконных/дверных проемов
Марки любых элементов
замаркируйте и постройте соотвествующие спецификации.
Технологии не очень современные, но лучше чем...
Alan вне форума  
 
Автор темы   Непрочитано 22.12.2005, 19:07
#11
Chief Justice


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


Что-то про корд пишет... ничего не ставит... AutoCAD 2005...
Chief Justice вне форума  
 
Непрочитано 22.12.2005, 19:17
#12
Alan

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


>Chief Justice Прочти выше, см.10
Цитата:
Инсталяцию лучше сделать под Акад 2002, но работает и под 2004-2005. Когда установите запросите файлик меню, я пришлю. Демо делал давно (2001-2002г), меню надо обновить.
Ну и на почту письни свой адрес.
Alan вне форума  
 
Непрочитано 22.12.2005, 22:50
#13
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Chief Justice:Было бы здорово какую-нибудь такую лиспу...
Ну, дык лови и держи крепче, шоб не улетела.
Код:
[Выделить все]
(defun *error* (msg)
  (if (= msg "Function cancelled") (princ msg)(princ));if
  (setvar "CMDECHO" cmd) (setvar "PICKAUTO" pca)   
);*error*
;
(defun vu (at / ov)
  (setq ov (vla-get-TextString at) pt (vl-string-search "." ov))
  (if (null pt) (while (wcmatch ov "*@*") (setq ov (substr ov 2)))
    (setq ov (substr ov (+ 2 pt))));if
  (strcat (vl-string-right-trim ov (vla-get-TextString at))
	  (if (= kw "Number") (itoa (+ n dn))(itoa (+ (atoi ov) dn))));strcat
);defun
; 
(defun C:KAN ( / ass ats cmd pca ov nv dn pt)
  (setq	adoc (vla-get-ActiveDocument (vlax-get-acad-object))
	cmd (getvar "CMDECHO") 	pca (getvar "PICKAUTO")
	ass (vla-get-ActiveSelectionSet adoc) n 0);setq
  (setvar "CMDECHO" 0)
  (initget "Number Renumber")
  (setq kw (getkword "\n[Number/Renumber]? <N>"))
  (if (null kw) (setq kw "Number"))
  (if (= kw "Number") (setvar "PICKAUTO" 0))
  (setq dn (getint "\nInput Start or Offset Number: <1>"))
  (if (null dn) (setq dn 1))
  (prompt (strcat "\nSelect Blocks for " kw "ing: "))
  (if (/= (vla-get-count ass) 0) (vla-clear ass))
  (vla-SelectOnScreen ass (vlax-safearray-fill (vlax-make-safearray vlax-vbInteger '(0 . 0)) '(0))
    (vlax-safearray-fill (vlax-make-safearray vlax-vbVariant '(0 . 0)) (list "*BlockReference")))
  (vlax-for sb ass
    (setq ats (vlax-safearray->list (vlax-variant-value (vla-getattributes sb))));setq
    (if (= (length ats) 1) (vla-put-TextString (car ats) (vu (car ats)))
      (vla-put-TextString (cadr ats) (vu (cadr ats))))
    (setq n (1+ n)));vlax-for
 (setvar "CMDECHO" cmd)
 (setvar "PICKAUTO" pca)
 (princ)
);end
Лентяй вне форума  
 
Непрочитано 23.12.2005, 06:19
#14
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


to Лентяй
Объясни как пользоваться, плиз. Че-то недогоняю. Чего-то выбрать просит...
Krieger вне форума  
 
Непрочитано 23.12.2005, 07:48
#15
nikolaev

конструктор
 
Регистрация: 28.08.2003
Мос. область
Сообщений: 119


Простейший макрос на кнопку:
^C^Corthomode 0;pline \width 0 (* 3 (getvar "dimscale")) \width 0 0 arc \\Radius (* 5 (getvar "dimscale")) Angle 359 \;text j middle cen \(* 5 (getvar "dimscale")) 0 *;
nikolaev вне форума  
 
Автор темы   Непрочитано 23.12.2005, 08:18
#16
Chief Justice


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


Цитата:
Сообщение от Лентяй
Цитата:
Chief Justice:Было бы здорово какую-нибудь такую лиспу...
Ну, дык лови и держи крепче, шоб не улетела.
Спасибо, поймал! Только моих знаний лиспа не хватает даже, чтобы ее запустить...
Загрузить-то загрузил...
А что нажимать-то?...
Chief Justice вне форума  
 
Автор темы   Непрочитано 23.12.2005, 08:26
#17
Chief Justice


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


Цитата:
Сообщение от nikolaev
Простейший макрос на кнопку:
^C^Corthomode 0;pline \width 0 (* 3 (getvar "dimscale")) \width 0 0 arc \\Radius (* 5 (getvar "dimscale")) Angle 359 \;text j middle cen \(* 5 (getvar "dimscale")) 0 *;
Интересный макрос...
Но слишком сложно и не одинаковые стрелочки получаются...
Много параметров вводить надо...
Быстрее получиться скопировать и исправить...
Chief Justice вне форума  
 
Непрочитано 23.12.2005, 10:11
#18
Jurasic


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


Мне кажется в фильтр функции "SelectOnScreen", многоуважаемого Лентяя вкралась ошибка..
Вместо
Код:
[Выделить все]
(vlax-safearray-fill
      (vlax-make-safearray vlax-vbInteger '(0 . 0))
      '(0)
    )
Следует читать
Код:
[Выделить все]
(vlax-safearray-fill
      (vlax-make-safearray vlax-vbInteger '(0 . 0))
      '(100)
    )
Блок, естественно, должен содержать атрибуты..
Jurasic вне форума  
 
Непрочитано 23.12.2005, 10:42
#19
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Chief Justice: А что нажимать-то?...
Поймал, значит? Маладэс, джигит! А нажимать надл вновь созданную кнопочку, в свойствах которой прописать
Код:
Правда, в этом случае нужно будет внести KAN. lsp в список программ, загружаемых при запуске (Briefcase). Другой способ - описать кнопку как
Код:
[Выделить все]
^C^C (if (null KAN) (load "KAN.lsp"))(C:KAN)
А можно и совсем просто - набрать "KAN" в командной строке.
Jurasic,
Спасибо за подсказку. Ошиька действительно имеет место быть, но там, где сказано, а строкой ниже. Вместо
Код:
[Выделить все]
(list *BlockReference)
должно быть
Код:
[Выделить все]
(list *Insert")
.
Лентяй вне форума  
 
Непрочитано 23.12.2005, 11:10
#20
Jurasic


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


>Лентяй
Вы автор, вам и решать ГДЕ ошибка ИМХО, для лентяев проще "0" на "100" поменять, чем "BlockReference" на "Insert"
Jurasic вне форума  
 
Непрочитано 23.12.2005, 11:51
#21
Jurasic


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


Предлагаю усовершенствовать макрос nikolaev'a следующим образом:
Код:
[Выделить все]
^C^C_leader \\\;;_b J_CIRCLE;(getvar "lastpoint");;; text j middle (getvar "lastpoint") (* 5 (getvar "dimscale")) 0 *;
В таком случае в чертеже должен быть блок с именем "J_CIRCLE". Его можно создать таким макросом:
Код:
[Выделить все]
^C^C_zoom _w -10,-10 10,10 _circle 0,0 4 -block J_CIRCLE 0,0 _last; _zoom _p
Торчащий в центр окружности кусок выноски редактировать вручную... При этом выноска будет таскаться за блоком с окружностью автоматически. В свойствах выноски поставить "spline with arrow".
Jurasic вне форума  
 
Непрочитано 23.12.2005, 12:40
#22
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Chief Justice, ловите еще одну лиспу для отрисовки стрелки трехточечным сплайном. Вызывается с командной строки POZ
Код:
[Выделить все]
(defun C:POZ (/ pts blk lpt)
  (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
        pts (apply 'append (mapcar '(lambda (x) (getpoint (strcat "\nEnter Arrow " x " Point: ")))
              (list "1st" "2nd" "3d")))
        csp (if (= (vla-get-ActiveSpace adoc) 0)
              (if (= (vla-get-mspace adoc) 1) (vla-get-ModelSpace adoc) (vla-get-PaperSpace adoc))
              (vla-get-ModelSpace adoc))
        blk (vla-insertblock csp (vlax-3d-point (mapcar '(lambda (x) (nth x pts)) '(6 7 8)))
              (strcat (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-item (list bks "SPN004")))
                     "C:\\*Здесь прописать директорию, в которой находится блок*\\" "") "SPN004") 1 1 1 0)
        lpt (if (< (nth 3 pts) (nth 6 pts)) (- (nth 6 pts) 0.1172)
              (+ (nth 6 pts) 0.1172)));setq
  (vla-addLeader csp (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble '(0 . 8))
        (subst lpt (nth 6 pts) pts))) blk acSplineWithArrow)
);end
Лентяй вне форума  
 
Непрочитано 23.12.2005, 13:07
#23
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


Chief Justice
Вчера у меня на работе была лажа с интернетом, пропустил топик, если еще интересно, можно попробовать программку В. Колосова для простановки позиций (http://dwg.ru/dwl/74), я ею пользуюсь уже довольно давно, имеет возможность настройки.
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
 
Автор темы   Непрочитано 23.12.2005, 14:22
#24
Chief Justice


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


Цитата:
Сообщение от Tech
Chief Justice
Вчера у меня на работе была лажа с интернетом, пропустил топик, если еще интересно, можно попробовать программку В. Колосова для простановки позиций (http://dwg.ru/dwl/74), я ею пользуюсь уже довольно давно, имеет возможность настройки.
Что-то не работает... Пишет:
Automation Error. Filer error - прерывание программы; error: An error has
occurred inside the *error* functionAutoCAD variable setting rejected:
"CMDECHO" nil
Chief Justice вне форума  
 
Автор темы   Непрочитано 23.12.2005, 14:24
#25
Chief Justice


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


Цитата:
Сообщение от Лентяй
Chief Justice, ловите еще одну лиспу для отрисовки стрелки трехточечным сплайном.
Что-то опять не работает:
Enter Arrow 1st Point:
Enter Arrow 2nd Point:
Enter Arrow 3d Point: ; error: Exception occurred: 0xC0000005 (Access Violation)
; warning: unwind skipped on unknown exception
Chief Justice вне форума  
 
Автор темы   Непрочитано 23.12.2005, 14:29
#26
Chief Justice


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


Может мне какой-то компонент нужно доустановить?...
Что-то не запускается ничего с подозрительным постоянством...
pyku.sys не предлагать...
Chief Justice вне форума  
 
Непрочитано 23.12.2005, 15:54
#27
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


Цитата:
Сообщение от Chief Justice
Что-то не работает... Пишет:
Automation Error. Filer error - прерывание программы; error: An error has
occurred inside the *error* functionAutoCAD variable setting rejected:
"CMDECHO" nil
У меня тоже не сразу получилось, там есть тонкости по конфигурационному файлу, на всякий случай проверь наличие POS.CFG в c:\Documents and Settings\USER\Local Settings\Application Data\Autodesk\AutoCAD 2006\R16.2\enu\ и подправь под свои настройки позиции основной слой: и стиль текста:
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
 
Непрочитано 23.12.2005, 16:14
#28
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


Лентяй :
У меня выдает то же самое, что и у Chief Justice см. пост 25.
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
 
Непрочитано 23.12.2005, 17:17
#29
Alan

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


>Chief Justice
Вы получили меню? поставили? запустили? Работали?
Ну и как получилась спецификация?
Alan вне форума  
 
Автор темы   Непрочитано 23.12.2005, 17:43
#30
Chief Justice


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


Цитата:
Сообщение от Alan
Вы получили меню? поставили? запустили? Работали?
Ну и как получилась спецификация?
Поставили... запустили... не работает...
Пишет:
error: no function definition: C:NZ305
Chief Justice вне форума  
 
Автор темы   Непрочитано 23.12.2005, 17:57
#31
Chief Justice


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


Цитата:
Сообщение от Tech
У меня тоже не сразу получилось, там есть тонкости по конфигурационному файлу, на всякий случай проверь наличие POS.CFG в c:\Documents and Settings\USER\Local Settings\Application Data\Autodesk\AutoCAD 2006\R16.2\enu\ и подправь под свои настройки позиции основной слой: и стиль текста:
Файла pos.cfg у меня там нет... И вообще нет такого файла ни в указанной директории, ни в директории автокада ни вообще на диске...

_appload pos.VLX successfully loaded.
pos.VLX successfully loaded.
pos.VLX was added to the Startup Suite.

Command: pos
Automation Error. Filer error - прерывание программы; error: Automation Error.
Filer error - прерывание программы
Chief Justice вне форума  
 
Непрочитано 23.12.2005, 18:54
#32
Alan

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


>Chief Justice
Надо было написать о не работе на почту. Я в форуме бываю по возможности, а почту просматриваю регулярно.
Да и форум это для всех, а мы начали обмениваться файлами.
Письмо с инструкцией отослал.
Удачи.
Alan вне форума  
 
Непрочитано 23.12.2005, 20:14
#33
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


>Chief Justice
Странно, у меня висит на кнопке с макросом:
^C^C(if (eq cos nil) (load "pos.vlx")) ^C^C_pos , и запускается без возражений, POS.CFG стирал, он его заново прописывает .
Попробуй ему вручную его подсунуть
[ATTACH]1135358075.zip[/ATTACH]
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
 
Непрочитано 23.12.2005, 23:23
#34
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Chief Justice и Tech, Вы блок, который я выложил в начале темы сохоанили? Директорию, в которой он сохранен, в соответствующем месте программы прописали?
Код:
[Выделить все]
"C:\\*Здесь прописать директорию, в которой находится блок*\\"
Слэши при этом использовали двойные (\\)? Проверьте, и доложьте об исполнении! :evil:
Лентяй вне форума  
 
Непрочитано 24.12.2005, 20:28
#35
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


Цитата:
Сообщение от Лентяй
Директорию, в которой он сохранен, в соответствующем месте программы прописали?
Код:
[Выделить все]
"C:\\*Здесь прописать директорию, в которой находится блок*\\"
Слэши при этом использовали двойные (\\)? Проверьте, и доложьте об исполнении! :evil:
Именно все так и сделал,
Код:
[Выделить все]
"C:\\TMP\\" "") "SPN004") 1 1 1 0)
файл переименовал в SPN004.dwg, после вызова POZ получил:
Enter Arrow 1st Point:
Enter Arrow 2nd Point:
Enter Arrow 3d Point: ; error: Exception occurred: 0xC0000005 (Access Violation)
; warning: unwind skipped on unknown exception
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
 
Непрочитано 25.12.2005, 04:42
#36
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Моя плохой, ибо перемудрил малость :? , в чем совешенно искренне и глубоко раскаиваюсь :cry: . По сути же - забыл одну строку, указывющую на коллекцию блоков. Теперь все работает
Код:
[Выделить все]
(defun C:POZ (/ pts blk lpt) 
  (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
        bks (vla-get-blocks adoc)
        pts (apply 'append (mapcar '(lambda (x) (getpoint (strcat "\nEnter Arrow " x " Point: "))) 
              (list "1st" "2nd" "3d"))) 
        csp (if (= (vla-get-ActiveSpace adoc) 0) 
              (if (= (vla-get-mspace adoc) 1) (vla-get-ModelSpace adoc) (vla-get-PaperSpace adoc)) 
              (vla-get-ModelSpace adoc)) 
        blk (vla-insertblock csp (vlax-3d-point (mapcar '(lambda (x) (nth x pts)) '(6 7 8))) 
              (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-item (list bks "SPN004"))) 
                    "C:\\Temp\\SPN004.dwg" "SPN004") 1 1 1 0)
        lpt (if (< (nth 3 pts) (nth 6 pts)) (- (nth 6 pts) 0.1172) 
              (+ (nth 6 pts) 0.1172)));setq 
  (vla-addLeader csp (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble '(0 . 8)) 
        (subst lpt (nth 6 pts) pts))) blk acSplineWithArrow) 
);end
По случаю наступающего Рождества, ушел пьянствовать водку и нарушать безобразие.
Лентяй вне форума  
 
Непрочитано 26.12.2005, 00:00
#37
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


>Лентяй
Да, теперь похоже работает. А праздники - дело святое
Merry Christmas!
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
 
Непрочитано 26.12.2005, 12:23
#38
TheBuTeK

преподавание
 
Регистрация: 28.09.2005
Москваград
Сообщений: 131
<phrase 1=


Друзья, а не проще ли создать блок с атрибутами?
Потом при желании можно ведь не только изменить номер позиции. но и занести данные в базу, которую впоследствии экспортировать в Access, например...
__________________
Добрым словом и пистолетом можно добиться гораздо большего, чем одним добрым словом.
TheBuTeK вне форума  
 
Непрочитано 27.12.2005, 01:55
#39
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


С добрым уторм, дорогой TheBuTeK! См. пост №2.
Лентяй вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Простановка позиций... При помощи чего?...