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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп (нахлест арматуры)

Нужен лисп (нахлест арматуры)

Закрытая тема
Поиск в этой теме
Непрочитано 09.07.2007, 16:15 #1
Нужен лисп (нахлест арматуры)
dextron3
 
проектировшик
 
СССР
Регистрация: 01.01.2007
Сообщений: 5,143

Как работает:

1. Выбираем линию (стержень)
2. Вводим нахлест
3. Разбивается с длиной 11750мм (стандартная длина арматуры) + прибавляется введенный нахлест


Смещение стержней относительно друг друга 50мм, чтобы не сливались на чертеже

см. рисунок

[ATTACH]1183983170.JPG[/ATTACH]


:roll: :roll: :roll:
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Просмотров: 7085
 
Автор темы   Непрочитано 10.07.2007, 10:27
#2
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Обратите внимание тема осталась без ответов! [sm2700]
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.07.2007, 10:30
#3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Действительно, ответ заставляет себя ждать.
Profan вне форума  
 
Непрочитано 10.07.2007, 10:35 Re: Нужен лисп (нахлест арматуры)
#4
p_sh

новичок
 
Регистрация: 19.06.2005
Ярославль
Сообщений: 3,396


dextron3

потому что есть готовые решения в автокаде и в аллплане
p_sh вне форума  
 
Автор темы   Непрочитано 10.07.2007, 10:51
#5
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


А лиспиком поделиться некому не хочетца?
[sm1403]
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.07.2007, 12:20
#6
DonJad


 
Регистрация: 20.12.2005
Murmansk
Сообщений: 106


А если сделать тип штриховки соответсвующий?

т.е. в shx файле прописать этот штырь, а потом в описании штриховки через 1175 их вставлять с разными значениями по y
DonJad вне форума  
 
Автор темы   Непрочитано 11.07.2007, 14:26
#7
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


нереально
штриховкой такого не сделаешь
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.07.2007, 15:04
#8
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
в shx файле прописать этот штырь
А в другом shx прописать кочергу. Это будет арматура, загнутая под прямым углом на длину анкеровки.
Profan вне форума  
 
Непрочитано 11.07.2007, 16:33
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


По быстрому получилось так
Код:
[Выделить все]
(defun C:Nahl (/ adoc Sl Nah Sm ent pt1 pt2 ang ang90 Dl ss *error* clay)
  (defun *error* (msg)
    (princ msg)(setvar "CLAYER" clay)(princ))
  (setq clay (getvar "CLAYER"))
  (vl-load-com) 
  (setq adoc (vla-get-activedocument (vlax-get-acad-object))) 
  (vla-startundomark adoc) 
  (initget 7) 
  (setq Sl (getdist "\nДлина стержня: ")) 
  (initget 7) 
  (setq Nah (getdist "\nДлина нахлеста: ")) 
  (initget 7) 
  (setq Sm (getdist "\nСмещение стержней: ")) 
  (if (setq ss (ssget "_:L" '((0 . "LINE")))) 
    (progn 
      (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) 
        (setq pt1   (cdr (assoc 10 (entget ent))) 
              pt2   (cdr (assoc 11 (entget ent))) 
              pt1   (trans pt1 0 1) 
              pt2   (trans pt2 0 1) 
              ang   (angle pt1 pt2) 
              ang90 (+ ang (* pi 1.5)) 
              Dl    (distance pt1 pt2) 
              pt2   nil 
        ) ;_ end of setq
        (if (> Dl Sl)
        (progn  
        (setvar "CLAYER" (cdr(assoc 8 (entget ent))))
        (while (> Dl Sl) 
          (command "_.LINE" 
                   "_none" 
                   pt1 
                   "_none" 
                   (setq pt1 (polar pt1 ang Sl)) 
                   "" 
          ) ;_ end of command 
          (setq pt1 (polar pt1 (+ ang pi) Nah)) 
          (if (setq pt2 (not pt2)) 
            (setq pt1 (polar pt1 (+ ang90 pi) Sm)) 
            (setq pt1 (polar pt1 ang90 Sm)) 
          ) ;_ end of if 
          (setq Dl (+ (- Dl Sl) Nah)) 
        ) ;_ end of while 
        (if (> DL 1) ;_Остаток 
          (progn 
            ;(setq pt1 (polar pt1 (+ ang pi) Nah)) 
            (command "_.LINE" "_none" pt1 "_none" (polar pt1 ang Dl) "") 
          ) ;_ end of progn 
        ) ;_ end of if
        (entdel ent)
        )
        )  
      ) ;_ end of foreach 
    ) ;_ end of progn 
  ) ;_ end of if
  (setvar "CLAYER" clay)
  (vla-endundomark adoc) 
  (princ) 
) ;_ end of defun
Код:
[Выделить все]
^C^CNahl;11750;700;50
*** 11.07.2007
12.07.2007
Исправлено по предложению в постах ниже
VVA вне форума  
 
Автор темы   Непрочитано 11.07.2007, 17:47
#10
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


1) Небольшой баг,
когда длина элемента составляет чуть меньше двух длинн,
то элемент исчезает, вместо разбивания, или если очень
длинный, то последний отрезок из полученных тоже пропадает


см. рисунок

[ATTACH]1184161279.JPG[/ATTACH]

:roll: :roll: :roll:

2) Почему выделение работает только поэлементно, а не прямоугольной областью? (т.е. хочется выделять сразу много line)

Ждем коррективы
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.07.2007, 18:48
#11
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Исправил код в посте №9
VVA вне форума  
 
Автор темы   Непрочитано 11.07.2007, 20:27
#12
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Обнаружил Баги:

1) Если объект меньше заданной длины, то его расчленять не надо (по лиспу он увеличивается без расчленения)

2) Все объекты превращаются в текущий слой (нельзя ли сделать чтобы в каком были в том и остались)

3) См. картинку
[ATTACH]1184170933.JPG[/ATTACH]
неровные нахлесты, т.е. некоторые почемуто увеличиваются в два раза, а коротенькие удлиняются
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 11.07.2007, 20:29
#13
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Вот файл для экспериментов
[ATTACH]1184171322.rar[/ATTACH]
в нем зарисовки из верхнего поста, на всякий случай
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 11.07.2007, 21:13
#14
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


последний нахлест почемуто получается двойной
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 11.07.2007, 21:20
#15
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Вот еще скрин
:?: :?: :?:
[ATTACH]1184174407.JPG[/ATTACH]
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 12.07.2007, 06:43
#16
Влад

Инженер-конструктор
 
Регистрация: 30.08.2003
Новосибирск
Сообщений: 76
<phrase 1=


>dextron3 Это наверное двойная нахлестка (согласно СНИП) при стыковке в одном сечении более 50% арматуры
Влад вне форума  
 
Непрочитано 12.07.2007, 11:27
#17
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Новый вариант в №9
VVA вне форума  
 
Непрочитано 12.07.2007, 11:56
#18
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Стандартная длина поставки арматурный стержней 11700, а не 11750
__________________
:diablo: Truth is out there
X-DeViL вне форума  
 
Непрочитано 12.07.2007, 12:00
#19
shnn

Инженер
 
Регистрация: 18.02.2005
Самара
Сообщений: 747


А как насчет требования сдвига стыков на 1,5Lн ?

dextron3 Вы уже на данный момент должны VVA месячную зарплату
shnn вне форума  
 
Непрочитано 12.07.2007, 13:32
#20
Zouss


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


причем явно не в тенге
Zouss вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп (нахлест арматуры)

Размещение рекламы