建筑问答网A125.com > 建筑施工 > 市政工程施工 > 提问

怎样在CAD中绘出缓和曲线 缓和,曲线,行业

未解决  --    --  11个回答  178次浏览0
分享到QQ空间 分享微信 发送朋友 打印
提问人:76228 - 泥土工 2级  举报  闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤濠€閬嶅焵椤掑倹鍤€閻庢凹鍙冨畷宕囧鐎c劋姹楅梺鍦劋閸ㄥ綊宕愰悙宸富闁靛牆妫楅崸濠囨煕鐎n偅灏版繛鑹邦嚙閳规垹鈧綆鍋€閹锋椽姊绘笟鍥т簽闁稿鐩幊鐔碱敍濞戞瑦鐝烽梺鍦檸閸犳鎮″☉銏″€堕柣鎰絻閳锋棃鏌曢崱妯烘诞闁哄苯绉烽¨渚€鏌涢幘鍗炲缂佽京鍋ゅ畷鍗炩槈濡》绱遍梻浣告啞娓氭宕㈡ィ鍐ㄦ辈闁挎棃鏁崑鎾诲礂婢跺﹣澹曢梻浣告啞濞诧箓宕滃☉銏犲偍闁归棿鐒﹂崐鐢告煕韫囨搩妲稿ù婊堢畺濮婃椽鏌呴悙鑼跺濠⒀冾嚟閳ь剝顫夊ú鎴﹀础閸愬樊鍤曞ù鐘差儛閺佸洦绻濊閸庤櫕绂嶉幆顬″綊鏁愰崶鈹库偓濠冧繆閹绘帞澧涘ǎ鍥э躬椤㈡稑顫濋浣団晠姊虹紒姗嗘畷鐎光偓缁嬫娼栨繛宸簻瀹告繂鈹戦悩鎻掆偓鎼侊綖鎼淬劍鈷戠紒瀣儥閸庢劙鏌熼崨濠勬憙妞わ絿鍋撶换婵嬪閿濆棛銆愬銈嗗灥鐎氼噣骞戦姀銈呭耿婵炴垶鐟ч崢浠嬫⒑鐟欏嫭绶查柛姘e亾缂備降鍔岄…鐑藉蓟瀹ュ牜妾ㄩ梺鍛婃尰瀹€绋跨暦瑜版帒鍨傛い鏃傚亾濞堥箖姊洪崫鍕偍闁搞劌缍婇幏鎴︽偄閸忚偐鍘繝銏f硾閻楀棝宕濆鑸电厽閹兼惌鍠栧顔芥叏婵犲啯銇濈€规洘绮撻獮鎾诲箳瀹ュ洤鍤┑鐘垫暩閸嬫稑顕i崼鏇熷亱婵犲﹤鎳庨崹婵嗏攽閻樺磭顣查柛濠勫厴閺岋綁骞嬮悙銊х窗闂佸憡锕╂禍婵堟崲濠靛鍋ㄩ梻鍫熺◥缁爼姊虹拠鑼缂佽鐗嗛悾宄扳攽閸狀喗妫冨畷銊╊敊閹冪闂傚倷绶氶埀顒傚仜閼活垱鏅堕婊呯<闁稿本绋戠粭褔鏌嶈閸撱劎绱為崱娑樼;闁糕剝绋戦崒銊╂⒑椤掆偓缁夌敻鍩涢幋锔界厱婵犻潧妫楅顏堟煕鐏炶濮傞柡灞剧洴瀵剟骞愭惔銏″缂傚倷绀侀崐鍝ョ矓瑜版帞宓侀柛銉墯閸嬪鏌涢鐘茬仼妤犵偛鐗撳铏规嫚閹绘帒姣愮紓鍌氱Т濡繂鐣烽幋锕€宸濇い鏍ㄧ懅閸撱劌顪冮妶鍡樺蔼闁搞劍妞介幃锟犲礃椤旇棄浠┑鐐叉缁绘劙顢旈埡鍛厽闊洦鎼╅崵鐔兼煃瑜滈崜婵嬶綖婢跺⊕娲箣閿曗偓绾偓闂佺娉涢~鏇㈠焵椤戣法顦﹂柍璇查叄楠炴﹢寮堕幋婊勫亝闂備浇顕х换鎺楀磻閻愬搫纾块柟鎯版閸ㄥ倿姊洪鈧粔鐢稿煕閹烘嚚褰掓晲閸曨噮鍔呴梺琛″亾闁绘鐗忕粻楣冩煕濞戝崬鏋熺紒鈧崼銉︾厱闁圭儤鎸哥粭姘舵煙椤栨稒顥堝┑鈩冩倐婵$柉顦寸€规洝娉涢埞鎴︽偐閸偅姣勬繝娈垮枟閹稿啿鐣烽鐑嗘晝闁靛牆妫崑銊╂⒑缂佹ê濮夋い锝勭矙瀹曟垿骞樼拠鑼槯婵犮垼娉涢敃锝嗙珶閺囥垺鈷掑〒姘e亾闁逞屽墰閸嬫盯鎳熼娑欐珷闁圭虎鍠楅悡娆愩亜閺囩偞顥犵紒鈾€鍋撴俊銈囧Х閸嬫盯顢栨径鎰畺婵炲棙鎸婚崑銊╂煟閵忕姷浠涙い顐㈢灱缁辨捇宕掑▎鎴М婵犫拃鍡椥撻柡鍛版硾铻栭柛鏇ㄥ墯閸e嘲鈹戦敍鍕杭闁稿ǹ鍊濆畷鎴﹀礋椤栨稒娅囧銈呯箰閻楀棝鎷戦悢鍝ョ闁瑰瓨鐟ラ悘鈺呭箚閻斿吋鈷戦梻鍫熺〒婢ф洟鏌熼崘鍙夋崳缂侇喖锕、娆撳床婢跺顥堥柟顔规櫊濡啫鈽夊Δ浣稿闂傚倷鑳剁划顖炪€冮崼鐔虹闁逞屽墴閺屾洟宕遍弴鐘电崲閻庢鍠楅幐铏叏閳ь剟鏌嶉埡浣告殲闁绘繃娲熷缁樻媴閽樺-鎾绘煥濮橆厹浜滈柨鏃囶嚙閺嬨倝鏌ゅú顏冩喚闁诡喕绮欏畷銊︾箾閻愵剙顏烘繝鐢靛仩閹活亞绱為埀顒€鈹戦鍝勨偓妤€鈽夐悽绋块唶闁哄洨鍠撻崢閬嶆⒑閹稿海绠撶紒缁樺浮閹箖宕归顐n啍闂佺粯鍔樼亸娆戠不婵犳碍鐓涘ù锝堫潐瀹曞矂鏌℃担瑙勫磳闁轰焦鎹囬弫鎾绘晸閿燂拷 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤濠€閬嶅焵椤掑倹鍤€閻庢凹鍙冨畷宕囧鐎c劋姹楅梺鍦劋閸ㄥ綊宕愰悙宸富闁靛牆妫楅崸濠囨煕鐎n偅灏版繛鑹邦嚙閳规垹鈧綆鍋€閹锋椽姊绘笟鍥т簽闁稿鐩幊鐔碱敍濞戞瑦鐝烽梺鍦檸閸犳鎮″☉銏″€堕柣鎰絻閳锋棃鏌曢崱妯烘诞闁哄苯绉烽¨渚€鏌涢幘鍗炲缂佽京鍋ゅ畷鍗炩槈濡》绱遍梻浣告啞娓氭宕㈡ィ鍐ㄦ辈闁挎棃鏁崑鎾诲礂婢跺﹣澹曢梻浣告啞濞诧箓宕滃☉銏犲偍闁归棿鐒﹂崐鐢告煕韫囨搩妲稿ù婊堢畺濮婃椽鏌呴悙鑼跺濠⒀冾嚟閳ь剝顫夊ú鎴﹀础閸愬樊鍤曞ù鐘差儛閺佸洦绻濊閸庤櫕绂嶉幆顬″綊鏁愰崶鈹库偓濠冧繆閹绘帞澧涘ǎ鍥э躬椤㈡稑顫濋浣団晠姊虹紒姗嗘畷鐎光偓缁嬫娼栨繛宸簻瀹告繂鈹戦悩鎻掆偓鎼侊綖鎼淬劍鈷戠紒瀣儥閸庢劙鏌熼崨濠勬憙妞わ絿鍋撶换婵嬪閿濆棛銆愬銈嗗灥鐎氼噣骞戦姀銈呭耿婵炴垶鐟ч崢浠嬫⒑鐟欏嫭绶查柛姘e亾缂備降鍔岄…鐑藉蓟瀹ュ牜妾ㄩ梺鍛婃尰瀹€绋跨暦瑜版帒鍨傛い鏃傚亾濞堥箖姊洪崫鍕偍闁搞劌缍婇幏鎴︽偄閸忚偐鍘繝銏f硾閻楀棝宕濆鑸电厽閹兼惌鍠栧顔芥叏婵犲倹鎯堥弫鍫ユ煕閵夋垵鎳嶇槐鏇犵磽娴i缚妾搁柛妯恒偢閹儲绺界粙鎸庢К闂侀€炲苯澧柕鍥у楠炴帡骞嬮姘矗婵$偑鍊愰弲鈺呭礈閻旂厧钃熼柣鏂垮悑閸嬶繝鏌℃径瀣靛劌濞寸厧鍟换婵堝枈濡搫鈷夐梺璇″枛閸婂灝顕i锕€绀冩い鏃囧亹閸旓箑顪冮妶鍡楃瑨閻庢氨鍏樺顐f媴閸︻厾顔曢梺鐟扮摠閻熴儵鎮橀鍫熺厽闁规崘娉涢弸娑㈡煛瀹€瀣М鐎殿噮鍓熼獮鎰償閵忕姵鐎鹃梻鍌欒兌閹虫捇宕崸妤€鐤柟缁㈠枛缁犳牗淇婇妶鍌氫壕濡炪値鍋呯换鍫ュ箖閳╁啯鍎熼柍閿亾闁瑰鍋呮穱濠囨倷椤忓嫧鍋撻幋锕€鍨傞柛婵嗗珋濞戙垹绀冩い鏂垮悑閻庮剟姊洪悷鏉库挃缂侇噮鍨跺鏌ュ箹娴e湱鍙嗛梺缁樻礀閸婂湱鈧熬鎷� - 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚敐澶婄闁挎繂鎲涢幘缁樼厱闁靛牆鎳庨顓㈡煛鐏炲墽娲存い銏℃礋閺佹劙宕卞▎妯恍氱紓鍌氬€烽懗鑸垫叏闁垮绠鹃柍褜鍓熼弻鈥崇暆閳ь剟宕伴弽褏鏆︽繝濠傛-濡查箖鏌i姀鈺佺仭闁烩晩鍨跺璇测槈濮橈絽浜鹃柨婵嗗暙婵″ジ鏌嶈閸撴氨鎹㈤崼婵愬殨濠电姵鑹鹃崡鎶芥煟閺冨洦顏犳い鏃€娲熷铏圭磼濡搫袝闂佸憡鎸诲畝鎼佸箖閻㈢ǹ绫嶉柛顐ゅ暱閹锋椽姊虹涵鍛汗闁稿绋掓穱濠冪附閸涘﹦鍘辨繝鐢靛Т閸婂綊宕戦妷褉鍋撳▓鍨灈妞ゎ厾鍏樺顐﹀箛椤撶偟绐為柣搴秵娴滄瑧鑺遍懡銈囩=闁稿本鐟чˇ锔姐亜閹存繃顥㈡い銏$墪閳诲骸顕ラ锝団姇闁诡垱妫冩俊鎼佹晜鐟欏嫬顏归梻鍌欑閹诧紕鎹㈤崒婧惧亾濮樺崬鍘寸€规洘娲熼獮鍥敇濠靛牏鐣炬俊鐐€栭崝鎴﹀垂瑜版帒姹查柨婵嗘礌閸嬫挸鈻撻崹顔界亪濡炪値鍘鹃崗姗€鐛崘顔碱潊闁靛牆鎳庣粣娑欑節閻㈤潧孝閻庢凹鍠涢崐鎾⒒閸屾艾鈧绮堟笟鈧獮澶愭晸閻樿尙顔囬梺绯曞墲缁嬫垵顔忓┑鍥ヤ簻闁哄啫鍊婚幗鍌炴煕閻旈攱鍣界紒杈ㄦ崌瀹曟帒顫濋钘変壕闁归棿绀佺壕褰掓煙闂傚顦︾痪鍓ф嚀椤啰鈧綆浜滈銏犫攽椤栨哎鍋㈤柡宀嬬磿娴狅妇鎷犻幓鎺戭潛闂備焦鐪归崐婵堢不閺嶎厼钃熼柨婵嗘啒閻斿皝鏋庨柟顖嗗嫷鍞查梻鍌欐祰濡嫰宕导鏉戠獥闁哄稁鍘奸拑鐔兼煥濠靛棭妲哥紒顐㈢Ч閺屾稓浠︾紒銏$暦闁诲孩纰嶉惄顖氼潖閻戞ɑ濮滈柟娈垮櫘濡差喚绱撴担鍓叉Ш闁轰焦鎮傞獮鎴﹀閻橆偅鏂€闂佹悶鍎弲婵嬫儊閸儲鈷戠紒瀣濠€鎵棯閺夎法效闁诡喗锕㈤獮妯肩磼濡攱瀚奸梻浣告啞缁诲倻鈧凹鍙冮弫宥咁吋婢跺鍘卞┑鈽嗗灡娴滀粙宕戦姀銈嗙厓闁靛闄勯ˉ鍫⑩偓瑙勬礃閿曘垽銆佸▎鎾冲簥濠㈣鍨板ú锕傛偂閺囥垺鐓欓柟浣冩珪濞呭懎鈹戦敍鍕付闁宠鍨块、娆撳箚瑜嶉獮瀣攽椤旂》鏀绘俊鐐扮矙楠炲啴鎮滈挊澶岄獓闂佸湱枪鐎垫帡宕妸鈺傗拻濞达絿鍎ら崵鈧梺鎼炲€栭悧鐘荤嵁韫囨稒鏅搁柨鐕傛嫹

如果用坐标绘图,出来的都是折线,怎样能绘出圆滑的缓和曲线

回答即可得20分,回答被采纳则获得悬赏分以及奖励50分。 积分规则
参考资料:
如果您的回答是从其他地方引用,请表明出处网址。
共 11 条 普通回答
楼层: 1
回答人:98356339 - 泥土工 2级 - 提交时间:2015/3/4 5:39:00  举报
工具栏有样条曲线工具
楼层: 2
回答人:32741010 - 泥土工 2级 - 提交时间:2015/3/4 12:11:00  举报
正规来说CAD没有设计这个功能,有些用样条来画是不标准的,但如果会编程序的话,在2008CAD中,增加了一个只有会编程的人才能用的,这里就不说了.比较笨的办法,那就是加密后用曲线画,只要能加密到5米内,出来的座标误差只有3CM内
楼层: 3
回答人:69261173 - 泥土工 2级 - 提交时间:2015/3/4 21:17:00  举报
额,有专门画缓和曲线的CAD插件,需要的话可以联系我的邮箱:twj790527@163.com ,当然也可以在附件里面下载。。。
楼层: 4
回答人:76208643 - 泥土工 2级 - 提交时间:2015/3/5 4:51:00  举报

一、在CAD中画出切线长

二、运行程序: 在命令行中输入hh回车

三、选择两条切线,然后输入曲线半径如:2204.5回车

四、输入缓和曲线长,如270,绘图完成!如图

 

记事本格式内容,新建的lisp语言,在CAD中要先加载

;;多义线摹拟缓和曲线。
;;输入起止直线、半径、缓和曲线长或设计车速。
;;命令:HH
(defun com_p() 
  (setq l   0)
  (command "ucs" "o" (list (- 0 x1) 0 0))
  (command "pline" (list 0 0 0) "w" "0" ""
    (repeat 1000
      (setq l (+ l (/ Ls 1000))
            x (+ (- l (/ (* l l l l l) 40 C C)) (/ (* l l l l l l l l l) 3456 C C C C))
            y (* id__ (+ (- (/ (* l l l) 6 C) (/ (* l l l l l l l) 336 C C C)) (/ (* l l l l l l l l l l l) 42240 C C C C C)))
      );setq
      (command (list x y 0))
    );repaet
  );command 
  (setq pt5 (trans (list x y 0) 1 0)) 
);com_p

(defun ll_v()
  (setq V   (getreal "\nGive Velocity:")
        Ls1 (* V 0.85)
        Ls2 (/ (* 0.0357 V V V) R)
        Ls  (max Ls1 Ls2 (/ R 9))
        Ls  (* (fix (/ Ls 10)) 10.0)
  );setq
  (if (> Ls R) (setq Ls R))
  (ll_d)
);ll_v

(defun ll_d() 
  (setq os (getvar "osmode"))
  (setvar "osmode" 0) 
  (setq C   (* Ls R)
         (- (+ (- (/ Ls 2) (/ (* Ls Ls Ls) 240 R R)) (/ (* Ls Ls Ls Ls Ls) 34560 R R R R)) (/ (* Ls Ls Ls Ls Ls Ls Ls) 8386560 R R R R R R))
        pt1 (cdr (assoc 10 (entget (car p1))))
        pt2 (cdr (assoc 11 (entget (car p1))))
        pt10(polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2))
        pt3 (cdr (assoc 10 (entget (car p2))))
        pt4 (cdr (assoc 11 (entget (car p2))))
        pt20(polar pt3 (angle pt3 pt4) (/ (distance pt3 pt4) 2))
         (+ (- (/ (* Ls Ls) 24 R) (/ (* Ls Ls Ls Ls) 2688 R R R)) (/ (* Ls Ls Ls Ls Ls Ls) 506880 R R R R R))
 jd  (inters pt1 pt2 pt3 pt4 nil)
        alf1(angle pt10 jd)
        alf2(angle pt20 jd)
        alf (- (angle jd pt20) alf1) 
  );setq 
  (if (or (> alf pi) (and (< alf 0) (> alf (- 0 pi))))
    (progn
      (setq id__ -1)
      (if (> alf pi) (setq alf (- (+ pi pi) alf)) (setq alf (abs alf)))
    );progn
    (progn
      (setq id__ 1)
      (if (<= alf (- 0 pi)) (setq alf (+ pi pi alf)))
    );progn
  );if
  (setq x0  (/ (* (+ p R) (sin(/ alf 2.0))) (cos(/ alf 2.0)))
        x1  (+ x0 q)
        Cl  (+ (*  alf R) Ls)
         (- (/ (+ R p) (cos(/ alf 2))) R)
  );setq 
  (command "ucs" "o" jd)
  (command "ucs" "z" (/ (* 180 alf1) pi))
  (com_p) (setq pt6 pt5)
  (setq ppt1 (list x1 0 0)) 
  (command "ucs" "") 
  (command "ucs" "o" jd)
  (command "ucs" "z" (/ (* 180 alf2) pi))
  (setq id__ (- 0 id__)) (com_p)
  (setq ppt2 (list x1 0 0)) 
  (command "ucs" "")
  (if (> (abs(distance jd pt1)) (abs(distance jd pt2)))
    (setq ptt1 pt1)
    (setq ptt1 pt2)
    );if
  (setq ptt2 (polar jd alf1 (- 0 x1))) 
  (thh p1 ptt1 10)
  (thh p1 ptt2 11)
  (if (> (abs(distance jd pt3)) (abs(distance jd pt4)))
    (setq ptt3 pt3)
    (setq ptt3 pt4)
    );if
  (setq ptt4 (polar jd alf2 (- 0 x1)))
  (thh p2 ptt3 10)
  (thh p2 ptt4 11)
  (if (= id__ 1) (command "arc" pt5 "e" pt6 "r" R) (command "arc" pt6 "e" pt5 "r" R))
  (setq alfd (angf alf))
  (setvar "osmode" os) 
  (command "cmdecho" "1")
  (command "text" pause pause "" (strcat "偏   角=" alfd))
  (command "cmdecho" "0")
  (command "text" ""  (strcat "半   径=" (rtos R 2 2)))
  (command "text" ""  (strcat "切 线 长=" (rtos x1 2 2)))
  (command "text" ""  (strcat "曲 线 长=" (rtos Cl 2 2)))
  (command "text" ""  (strcat "外   距=" (rtos E 2 2)))
  (command "text" ""  (strcat "缓和曲线长=" (rtos Ls 2 2)))
);ll_d


(defun angf (alf)
  (setq alff (angtos alf 1 4)
 n 1
 kk (strlen alff))
  (repeat kk
    (setq alfn (substr alff n 1))
    (if (= alfn "d")
      (setq nn n));if
    (setq n (+ n 1))
    );repeat
  (strcat (substr alff 1 (- nn 1)) "%%" (substr alff nn))
  );angf

(defun c:hh(/ p1 p2 pt1 pt2 pt3 pt4 pt5 pt6 pt10 pt20 id__ R V Ls E p3
                r1 x y l x0 x1 C jd alf alf1 alf2 q p Cl Ls1 Ls2)
  (command "ucs" "")
  (setq p1 nil p2 nil) 
  (while (= p1 nil) (setq p1 (entsel "\n拾取第一条直线:")))
  (redraw (car p1) 3)
  (while (= p2 nil) (setq p2 (entsel "\n拾取第二条直线:")))
  (redraw (car p2) 3)
  (initget 1)
  (setq R (getdist "\n请输入弯道半径 R:  "))
  (initget 1 "Ls V")
  (setq p3 (getdist "\n输入缓和曲线长度(Ls)或[设计速度(V)]:  "))
  (if (= p3 "V") (ll_v) (progn (setq ls p3) (ll_d)))
  (princ)
);eline

(defun thh(len pt h)
  (setq en_data (entget (car len))
        old_data (assoc h en_data)
 new_data (cons h pt)
 en (subst new_data old_data en_data));setq
  (entmod en)
  );thh

楼层: 5
回答人:63487726 - 泥土工 2级 - 提交时间:2015/3/5 12:28:00  举报
要准确在标准版CAD里画出缓和曲线是不太可能的,LZ可利用EICAD或者DICAD两套软件安装进去,画起来相当方便
楼层: 6
回答人:86532018 - 泥土工 2级 - 提交时间:2015/3/5 15:41:00  举报
pl,用多段线中的工具
楼层: 7
回答人:56092225 - 泥土工 2级 - 提交时间:2015/3/6 0:17:00  举报
有的,在CAD里“工具”》》“显示精确”》》“圆孤和圆的平滑度”值改到20000,这个最大的平滑度,这样可以看不到“折线”,麻烦的是每新建图纸得先设置平滑度,再开工制作图纸
楼层: 8
回答人:72287 - 泥土工 2级 - 提交时间:2015/3/6 1:31:00  举报
用卡西欧编程计算器计算每米的坐标,展点后连线就可以得到很光滑的缓和曲线
楼层: 9
回答人:50130848 - 泥土工 2级 - 提交时间:2015/3/6 5:28:00  举报
用倒圆角命令可能可以。
楼层: 10
回答人:20046493 - 泥土工 2级 - 提交时间:2015/3/6 10:34:00  举报
用云线命令啊!
楼层: 11
回答人:01580846 - 泥土工 2级 - 提交时间:2015/3/6 19:16:00  举报
先计算曲线每5米的坐标,展开点后连线就可以得到很光滑的缓和曲线(一般五米画出来的误差也是在2公分内,如果要精确,可加密到每米一点)