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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Помогите программно нарисовать профильную трубу!

Помогите программно нарисовать профильную трубу!

Ответ
Поиск в этой теме
Непрочитано 13.12.2006, 23:46 #1
Помогите программно нарисовать профильную трубу!
Владимир М
 
-
 
Ухта
Регистрация: 31.07.2005
Сообщений: 381

Как нарисовать сечение трубы прямоугольного профиля программно пользуясь командами "_.rectangle" и "_.offset"
Переменные:
;h-высота сеч. профильной трубы
;b-ширина сеч. профильной трубы
;t-толщина стенки сеч. профильной трубы
;r-наружний радиус скругления сеч. профильной трубы
__________________
Я не волшебник, я только учусь…
Просмотров: 8151
 
Непрочитано 14.12.2006, 10:38
#2
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Так что ли
Код:
[Выделить все]
(defun C:truba (/ pt1 pt2 sh sb st sf p1 p2
	      )
  (setq sh (getdist "\nвысота сеч: "))
  (setq sb (getdist "\nширина сеч: "))
  (setq st (getdist "\nтолщина стенки сеч: "))
  (setq sf (getdist "\nнаружний радиус скругления сеч: "))
  (setq pt1 (getpoint "\nЦентр: "))
  (setq p1 (list (- (nth 0 pt1) (/ sb 2)) (- (nth 1 pt1) (/ sh 2)) (nth 2 pt1)))
  (setq p2 (list (+ (nth 0 pt1) (/ sb 2)) (+ (nth 1 pt1) (/ sh 2)) (nth 2 pt1)))
  (command "_.rectangle" "С" sf p1 p2 "")
  (command "_.offset" st (entlast) pt1 "")
  (princ)
)
PS У меня автокад локализованный русский так что не знаю как сопряжение на англиском там ставится. Если что "С" замени на соответствующее.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 14.12.2006, 10:57
#3
Krieger

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


Или так:
Код:
[Выделить все]
(defun truba (h b t1 r / pt1 pt2 ss)
  (if (setq pt1 (getpoint "\nукажи точку вставки <выход> : "))
    (progn
      (setq pt2 (polar (polar pt1 0 b) (* pi 0.5) h))
  (command "_.rectangle" "_Fillet" r pt1 pt2)
      (setq ss (ssget "_L"))
      (command "_.offset" t1 ss (polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2)))
    );end progn
    );end if
  );end defun
Krieger вне форума  
 
Автор темы   Непрочитано 14.12.2006, 18:30
#4
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Спасибо за помощь, попробую!
Еще раз спасибо вам DEM и Krieger!
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 14.12.2006, 19:17
#5
Евгений

Инженер-конструктор РЭА
 
Регистрация: 21.08.2003
Питер
Сообщений: 72
<phrase 1=


В Download была прога prokat называется. она это все делает. И трубы и угольники и профиля. Удобно! Была и 3-х мерная. Поисчи!
Евгений вне форума  
 
Непрочитано 14.12.2006, 19:22
#6
Евгений

Инженер-конструктор РЭА
 
Регистрация: 21.08.2003
Питер
Сообщений: 72
<phrase 1=


Как раз идет обсуждение. Посмотри туточки http://dwg.ru/forum/viewtopic.php?t=10849
Евгений вне форума  
 
Непрочитано 14.12.2006, 19:26
#7
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Евгений
А вы посмотрите кот тему начал
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 15.12.2006, 00:39
#8
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Да, Евгений - это я.
Вот как раз трубами и занялся я. Все в ту же программу все хочу запихать...
вот тему и раздул для этих целей - не только для себя но и для вас стараюсь.
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Автор темы   Непрочитано 15.12.2006, 00:45
#9
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Вот вроде проверял голой проверкой ввода в командную строку по частям сначала одну комманду после вторую (получается).
Две сразу что-то не фотят работать в чем причина не пойму может кто объяснит?
;Если
;h=100 -высота сеч. профильной трубы
;b=200 -ширина сеч. профильной трубы
;t=5 -толщина стенки сеч. профильной трубы
;r=10 -наружний радиус скругления сеч. профильной трубы
;(setq cpt '(0.0 0.0)) -точка вставки
;(setq cpt2 '(20.0 20.0)) -направление точки вставки
;(entlast) -выбор последнего объекта
;\e - ввод

(command "_.rectangle" "F" "10" (setq cpt '(0.0 0.0)) "D" 100 200 (setq cpt2 '(20.0 20.0)))
(command "_.offset" 5 (entlast) (setq cpt3 '(20.0 20.0)) \e)
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 15.12.2006, 06:23
#10
Krieger

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


Все работает.
Запускай из редактора VisulLisp, а не через вставку в комстроку. На всякий пожарный убери пробел в конце первой строки. Можно объединить две строки в одну:
Код:
[Выделить все]
(command "_.rectangle" "_F" "10" (setq cpt '(0.0 0.0)) "_D" 100 200 (setq cpt2 '(20.0 20.0)) "_.offset" 5 (entlast) (setq cpt3 '(20.0 20.0)) "_exit")
Krieger вне форума  
 
Непрочитано 15.12.2006, 18:23
#11
Евгений

Инженер-конструктор РЭА
 
Регистрация: 21.08.2003
Питер
Сообщений: 72
<phrase 1=


Владимир М
Прошу пардону не узнал Но все равно СПАСИБО за прогу!!!! Трубим всем отделом!
Евгений вне форума  
 
Автор темы   Непрочитано 15.12.2006, 22:21
#12
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Спасибо Krieger! Попробую пойти дальше...
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Автор темы   Непрочитано 17.12.2006, 22:09
#13
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Тут еще Alan предложил по старой программе ddsteel ,
выложенная сдесь рисованная по точкам, что у меня получилось. Может и использую первый варант который рассматривался в этой теме
сделаю два варианта потом выложу что лучше. Но все равно спасибо!
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Автор темы   Непрочитано 17.12.2006, 22:18
#14
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Тут следующий вопрос напрашивается, если я буду делать круглые трубы. Наименование займет более 1200 различий по одному ГОСТ
Возможно разместить падающей строке столько наименований если база у меня будет *.dat файле, написанная в блокноте?
Или какой предел в числе знаках?
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 18.12.2006, 06:18
#15
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


В этом случае советую выполнять двойной выбор.
1. Диаметр
2. Толщина стенки.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 18.12.2006, 09:41
#16
Геннадий aka PG

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


> Владиимир М
Выкладываю всю программу MTRL с DAT-файлами сортамента, часть сортамента из прогрп=аммы Василия К.
[ATTACH]1166424099.zip[/ATTACH]
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Непрочитано 18.12.2006, 09:43
#17
Геннадий aka PG

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


Также прилагаю старую программку DDSTEEL, там есть модуль черчения квадратных труб (ввод размеров ручной), должна пригодится
[ATTACH]1166424192.zip[/ATTACH]
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Автор темы   Непрочитано 18.12.2006, 23:19
#18
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Спасибо, Геннадий aka PG, но программа DDSTEEL у меня уже есть.
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 20.12.2006, 02:11
#19
Евгений А.

Армспорт
 
Регистрация: 18.07.2006
Ейск
Сообщений: 355


Цитата:
Сообщение от Владимир М
Возможно разместить падающей строке столько наименований если база у меня будет *.dat файле, написанная в блокноте?
Или какой предел в числе знаках?
Предел-то конечно есть, но больше видимо по объёму памяти. Можете не переживать. Сам пробовал списки из строк (list_box/popup_list) до 1 млн. записей - всё работает!!! и скорость заполнения нормальная (до 10 тыс.записей в сек.).
Евгений А. вне форума  
 
Непрочитано 20.12.2006, 11:10
#20
Евгений А.

Армспорт
 
Регистрация: 18.07.2006
Ейск
Сообщений: 355


В моей прогрограмме база профилей оформлена списком, может пригодится. Вот файл с прокатом.
[ATTACH]1166602100.rar[/ATTACH]
Евгений А. вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Помогите программно нарисовать профильную трубу!

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