オブジェクト間を結ぶ線の制御方法、新しいのを見つけたのでメモしておきますわ。
ちょっとコンポーネント図を描いていました。↓こんなの
横には余裕があるので、カメラ をうまく配置できないものか。
こんなの見つけました。 [norank]
Add norank option on links - PlantUML Q&A
ランクが無視される?
ということで試してみます。
- camera -- cam_port + camera -[norank]- cam_port
一番遠くへ配置されるような動きになる様子です。 試しに別のオブジェクトを 1個、遠くへ配置してみます。
- card -- hub + card --- hub
ただ単純にオブジェクトを遠くへ配置したい場合は、obj1 -- obj2
を obj1 --- obj2
とか obj1 -------- obj2
のようにハイフンを伸ばせば実現できます。
今回見つけた [norank]
は効果は異なりますが、図のレイアウト調整の際に役立ちそうな 小技 の一つだと感じました。
▶ソースコードはこちら(クリックすると展開されます)
@startuml skinparam componentStyle rectangle package "CPU Board" as board { interface "Camera port" as cam_port interface HDMI as hdmi interface I2C_1 as i2c interface "I2C_2" as i2c2 interface USB as usb } package "Sensor cluster" as sensor { [room temp] as room [alc] as alcohol [co2] as co2 co2 -left[hidden]- alcohol } package "Touch device" as tp { [Display] as display [Touch] as touch } [USB Hub] as hub [Card Reader] as card [Camera] as camera #pink [A/D Con] as adc camera -[norank]- cam_port display -- hdmi hub -- usb touch -- hub card -- hub room -- i2c co2 -- i2c2 alcohol -- adc adc -- i2c2 @enduml